ÿÿ サブスクリプションステータスã®ç¢ºèª | Adapty ドキュメント

Flutter SDKã§ã‚µãƒ–スクリプションステータスを確èªã™ã‚‹

Adaptyを使ãˆã°ã€ã‚µãƒ–スクリプションã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ç®¡ç†ãŒç°¡å˜ã«ãªã‚Šã¾ã™ã€‚コードã«ãƒ—ロダクトIDを手動ã§åŸ‹ã‚込む必è¦ã¯ã‚りã¾ã›ã‚“。アクティブãªã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹ã ã‘ã§ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚µãƒ–ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³çŠ¶æ…‹ã‚’æ‰‹è»½ã«æŠŠæ¡ã§ãã¾ã™ã€‚

サブスクリプションステータスを確èªã™ã‚‹å‰ã«ï¼ˆã‚¯ãƒªãƒƒã‚¯ã—ã¦å±•開)

アクセスレベルã¨AdaptyProfileオブジェクト

アクセスレベルã¯AdaptyProfileオブジェクトã®ãƒ—ロパティã§ã™ã€‚アプリ起動時(例ãˆã°ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’識別ã™ã‚‹ã‚¿ã‚¤ãƒŸãƒ³ã‚°ãªã©ï¼‰ã«ãƒ—ロファイルをå–å¾—ã—ã€å¤‰æ›´ãŒã‚ã‚‹ãŸã³ã«æ›´æ–°ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ã“ã†ã™ã‚‹ã“ã¨ã§ã€ãƒ—ロファイルオブジェクトを繰り返ã—リクエストã™ã‚‹ã“ã¨ãªã利用ã§ãã¾ã™ã€‚ ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°é€šçŸ¥ã‚’å—ã‘å–ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°ï¼ˆã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’å«ã‚€ï¼‰ã‚’リッスンã™ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§èª¬æ˜Žã•れã¦ã„るよã†ã«ã€ãƒ—ロファイルã®å¤‰æ›´ã‚’リッスンã—ã¦ãã ã•ã„。

Adapty SDK ãŒãƒ¢ãƒã‚¤ãƒ«ã‚¢ãƒ—リã«ã©ã®ã‚ˆã†ã«çµ±åˆã•れã¦ã„ã‚‹ã‹ã€å®Ÿéš›ã®ä¾‹ã‚’見ã¦ã¿ã¾ã›ã‚“ã‹ï¼Ÿãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤ºã€è³¼å…¥å‡¦ç†ã€ãã®ä»–ã®åŸºæœ¬æ©Ÿèƒ½ã‚’å«ã‚€å®Œå…¨ãªã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—を実演ã—ã¦ã„るサンプルアプリをã”覧ãã ã•ã„。

サーãƒãƒ¼ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’å–å¾—ã™ã‚‹

サーãƒãƒ¼ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’å–å¾—ã™ã‚‹ã«ã¯ã€.getProfile() メソッドを使用ã—ã¦ãã ã•ã„:

try {
  final profile = await Adapty().getProfile();
  // check the access
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
}

レスãƒãƒ³ã‚¹ã®ãƒ‘ラメーター:

パラメーター説明
Profile

AdaptyProfile オブジェクト。通常ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚¢ãƒ—リã®ãƒ—レミアムアクセスをæŒã£ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’判断ã™ã‚‹ã«ã¯ã€ãƒ—ロファイルã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã®ã¿ã‚’確èªã™ã‚Œã°å分ã§ã™ã€‚

.getProfile メソッドã¯å¸¸ã« API ã¸ã®ã‚¯ã‚¨ãƒªã‚’試ã¿ã‚‹ãŸã‚ã€æœ€æ–°ã®çµæžœã‚’è¿”ã—ã¾ã™ã€‚何らã‹ã®ç†ç”±ï¼ˆä¾‹ï¼šã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šãŒãªã„å ´åˆãªã©ï¼‰ã§ Adapty SDK ãŒã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰æƒ…報をå–å¾—ã§ããªã„å ´åˆã¯ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã®ãƒ‡ãƒ¼ã‚¿ãŒè¿”ã•れã¾ã™ã€‚ã¾ãŸã€Adapty SDK 㯠AdaptyProfile ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’å®šæœŸçš„ã«æ›´æ–°ã—ã€æƒ…報をã§ãã‚‹é™ã‚Šæœ€æ–°ã®çŠ¶æ…‹ã«ä¿ã¤ã“ã¨ã‚‚é‡è¦ãªãƒã‚¤ãƒ³ãƒˆã§ã™ã€‚

.getProfile() メソッドを使用ã™ã‚‹ã¨ã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’å–å¾—ã§ãるユーザープロファイルをå–å¾—ã§ãã¾ã™ã€‚アプリã”ã¨ã«è¤‡æ•°ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’設定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚例ãˆã°ã€ãƒ‹ãƒ¥ãƒ¼ã‚¹ã‚¢ãƒ—リã§ç•°ãªã‚‹ãƒˆãƒ”ックã®ã‚µãƒ–スクリプションを独立ã—ã¦è²©å£²ã™ã‚‹å ´åˆã€â€œsports†や “science†ã¨ã„ã£ãŸã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’作æˆã§ãã¾ã™ã€‚ãŸã ã—ã€ã»ã¨ã‚“ã©ã®å ´åˆã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ãŒ1ã¤ã‚れã°å分ãªã®ã§ã€ãƒ‡ãƒ•ォルト㮠“premium†アクセスレベルをãã®ã¾ã¾ä½¿ãˆã¾ã™ã€‚

デフォルト㮠“premium†アクセスレベルを確èªã™ã‚‹ä¾‹ã‚’以下ã«ç¤ºã—ã¾ã™ï¼š

try {
  final profile = await Adapty().getProfile();
  if (profile?.accessLevels['premium']?.isActive ?? false) {
        // grant access to premium features
    }
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
}

サブスクリプションステータス更新ã®ãƒªãƒƒã‚¹ãƒ³

ユーザーã®ã‚µãƒ–スクリプションãŒå¤‰æ›´ã•れるãŸã³ã«ã€Adaptyã¯ã‚¤ãƒ™ãƒ³ãƒˆã‚’発ç«ã—ã¾ã™ã€‚

Adaptyã‹ã‚‰ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã‚‹ã«ã¯ã€è¿½åŠ ã®è¨­å®šãŒå¿…è¦ã§ã™ã€‚

Adapty().didUpdateProfileStream.listen((profile) {
  // handle any changes to subscription state
});

Adaptyã¯ã‚¢ãƒ—リ起動時ã«ã‚‚イベントを発ç«ã—ã¾ã™ã€‚ã“ã®å ´åˆã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•れãŸã‚µãƒ–ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãŒæ¸¡ã•れã¾ã™ã€‚

サブスクリプションステータスã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥

Adapty SDK ã«å®Ÿè£…ã•れãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯ã€ãƒ—ロファイルã®ã‚µãƒ–スクリプションステータスをä¿å­˜ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€ã‚µãƒ¼ãƒãƒ¼ãŒåˆ©ç”¨ã§ããªã„å ´åˆã§ã‚‚ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•れãŸãƒ‡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãƒ—ロファイルã®ã‚µãƒ–スクリプションステータスã«é–¢ã™ã‚‹æƒ…報をå–å¾—ã§ãã¾ã™ã€‚ ãŸã ã—ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¸ã®ç›´æŽ¥ãƒ‡ãƒ¼ã‚¿ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã§ãã¾ã›ã‚“。SDKã¯1分ã”ã¨ã«å®šæœŸçš„ã«ã‚µãƒ¼ãƒãƒ¼ã¸å•ã„åˆã‚ã›ã‚’行ã„ã€ãƒ—ロファイルã«é–¢ã™ã‚‹æ›´æ–°ã‚„変更ãŒãªã„ã‹ã‚’確èªã—ã¾ã™ã€‚æ–°ã—ã„トランザクションやãã®ä»–ã®æ›´æ–°ãªã©å¤‰æ›´ãŒã‚ã£ãŸå ´åˆã¯ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãƒ‡ãƒ¼ã‚¿ã«å映ã•れã€ã‚µãƒ¼ãƒãƒ¼ã¨ã®åŒæœŸãŒç¶­æŒã•れã¾ã™ã€‚

ÿÿÿÿ