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

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

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

サブスクリプションステータスã®ç¢ºèªã‚’å§‹ã‚ã‚‹å‰ã«ï¼ˆã‚¯ãƒªãƒƒã‚¯ã—ã¦å±•開)

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

アクセスレベルã¯AdaptyProfileオブジェクトã®ãƒ—ロパティã§ã™ã€‚アプリ起動時(例:ユーザーを識別ã™ã‚‹ã‚¿ã‚¤ãƒŸãƒ³ã‚°ãªã©ï¼‰ã«ãƒ—ロファイルをå–å¾—ã—ã€å¤‰æ›´ãŒã‚ã‚‹ãŸã³ã«æ›´æ–°ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ã“ã†ã™ã‚‹ã“ã¨ã§ã€éƒ½åº¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ã‚‹ã“ã¨ãªãプロファイルオブジェクトを利用ã§ãã¾ã™ã€‚

ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°é€šçŸ¥ã‚’å—ã‘å–ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®ãƒ—ロファイル更新(アクセスレベルをå«ã‚€ï¼‰ã®ãƒªãƒƒã‚¹ãƒ³ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§èª¬æ˜Žã™ã‚‹æ–¹æ³•ã§ãƒ—ロファイルã®å¤‰æ›´ã‚’監視ã—ã¦ãã ã•ã„。

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

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

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

try {
    const profile = await adapty.getProfile();
} catch (error) {
  // handle the error
}

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

パラメーター説明
Profile

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

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

.getProfile()メソッドã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ロファイルを返ã—ã€ãã“ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’å–å¾—ã§ãã¾ã™ã€‚1ã¤ã®ã‚¢ãƒ—リã«è¤‡æ•°ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’設定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚例ãˆã°ã€ãƒ‹ãƒ¥ãƒ¼ã‚¹ã‚¢ãƒ—リã§ãƒˆãƒ”ックã”ã¨ã«ç‹¬ç«‹ã—ãŸã‚µãƒ–スクリプションを販売ã™ã‚‹å ´åˆã€ã€Œsportsã€ã‚„「scienceã€ã¨ã„ã£ãŸã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’作æˆã§ãã¾ã™ã€‚ãŸã ã—ã€ã»ã¨ã‚“ã©ã®å ´åˆã¯ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã¯1ã¤ã§å分ãªã®ã§ã€ãƒ‡ãƒ•ォルトã®ã€Œpremiumã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’ãã®ã¾ã¾ä½¿ç”¨ã§ãã¾ã™ã€‚

デフォルトã®ã€Œpremiumã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’確èªã™ã‚‹ä¾‹ï¼š

try {
    const profile = await adapty.getProfile();
    
  const isActive = profile.accessLevels?.["premium"]?.isActive;
    if (isActive) {
        // grant access to premium features
    }
} catch (error) {
    // handle the error
}

ã‚µãƒ–ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã®æ›´æ–°ã‚’リッスンã™ã‚‹

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

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

// Create an "onLatestProfileLoad" event listener
adapty.addEventListener('onLatestProfileLoad', profile => {
    // handle any changes to subscription state
});

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

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

Adapty SDKã«å®Ÿè£…ã•れãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¯ã€ãƒ—ロファイルã®ã‚µãƒ–スクリプションステータスをä¿å­˜ã—ã¾ã™ã€‚ãã®ãŸã‚ã€ã‚µãƒ¼ãƒãƒ¼ãŒåˆ©ç”¨ã§ããªã„å ´åˆã§ã‚‚ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•れãŸãƒ‡ãƒ¼ã‚¿ã‹ã‚‰ãƒ—ロファイルã®ã‚µãƒ–スクリプションステータスをå–å¾—ã§ãã¾ã™ã€‚

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

ÿÿÿÿ