ÿÿ Observerモードã§ã®Flowã®è¡¨ç¤º | Adapty ドキュメント

Flutterã®SDKã§Observerモードã®ãƒ•ローを表示ã™ã‚‹

ビルダーを使ã£ã¦ãƒ•ローやペイウォールをカスタマイズã—ãŸå ´åˆã€ãƒ¢ãƒã‚¤ãƒ«ã‚¢ãƒ—リã®ã‚³ãƒ¼ãƒ‰å†…ã§ãれをレンダリングã—ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è¡¨ç¤ºã™ã‚‹æ–¹æ³•ã‚’æ°—ã«ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。ãã®ã‚ˆã†ãªãƒ•ローやペイウォールã«ã¯ã€è¡¨ç¤ºã™ã‚‹å†…容ã¨è¡¨ç¤ºæ–¹æ³•ã®ä¸¡æ–¹ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚

ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚ªãƒ–ザーãƒãƒ¼ãƒ¢ãƒ¼ãƒ‰å°‚用ã®èª¬æ˜Žã§ã™ã€‚オブザーãƒãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§ä½œæ¥­ã—ã¦ã„ãªã„å ´åˆã¯ã€ãƒ•ローã¨ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤ºã®ãƒˆãƒ”ックをå‚ç…§ã—ã¦ãã ã•ã„。

ã“ã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹ã«ã¯ Adapty Flutter SDK 4.0 以é™ãŒå¿…è¦ã§ã™ã€‚以å‰ã¯ãƒã‚¤ãƒ†ã‚£ãƒ–ã® iOS ãŠã‚ˆã³ Android SDK ã§ã®ã¿åˆ©ç”¨å¯èƒ½ã§ã—ãŸã€‚アップグレードã™ã‚‹ã«ã¯ç§»è¡Œã‚¬ã‚¤ãƒ‰ã‚’ã”å‚ç…§ãã ã•ã„。

フローã®è¡¨ç¤ºã‚’å§‹ã‚ã‚‹å‰ã«ï¼ˆã‚¯ãƒªãƒƒã‚¯ã—ã¦å±•開)
  1. Adapty 㨠App Store ãŠã‚ˆã³ Google Play ã®åˆæœŸé€£æºã‚’設定ã—ã¾ã™ã€‚ 2. Adapty SDK をインストールã—ã¦è¨­å®šã—ã¾ã™ã€‚observerMode パラメータを true ã«è¨­å®šã—ã¦ãã ã•ã„。詳ã—ã㯠Flutter SDK インストールガイド ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 3. Adapty ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã§ ãƒ—ãƒ­ãƒ€ã‚¯ãƒˆã‚’ä½œæˆ ã—ã¾ã™ã€‚ 4. ビルダーã§ãƒ•ローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’設定 ã—ã€ãƒ—ロダクトを割り当ã¦ã¾ã™ã€‚ 5. プレースメントを作æˆã—ã€ãƒ•ローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’割り当ã¦ã¾ã™ã€‚ 6. モãƒã‚¤ãƒ«ã‚¢ãƒ—リã®ã‚³ãƒ¼ãƒ‰ã§ フローã¨ãã®è¨­å®šã‚’å–å¾—ã—ã¾ã™ã€‚

オブザーãƒãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€SDKãŒä»£ã‚りã«è³¼å…¥å‡¦ç†ã‚’行ã„ã¾ã›ã‚“。ユーザーãŒAdaptyã®ãƒ•ローやペイウォール上ã§è³¼å…¥ãƒœã‚¿ãƒ³ã¾ãŸã¯å¾©å…ƒãƒœã‚¿ãƒ³ã‚’タップã™ã‚‹ã¨ã€SDKã¯ã‚ãªãŸã®AdaptyUIObserverModeResolverを呼ã³å‡ºã—ã¾ã™ã€‚購入や復元ã®å‡¦ç†ã¯ã€ãã“ã§ç‹¬è‡ªã®ã‚³ãƒ¼ãƒ‰ã‚’使ã£ã¦è¡Œã£ã¦ãã ã•ã„。

  1. AdaptyUIObserverModeResolverを実装ã—ã¾ã™ï¼š
    class MyObserverModeResolver extends AdaptyUIObserverModeResolver {
      @override
      void observerModeDidInitiatePurchase(
        AdaptyUIFlowView view,
        AdaptyPaywallProduct product,
        void Function() onStartPurchase,
        void Function() onFinishPurchase,
      ) {
        onStartPurchase(); // the view shows its loading indicator
        // make the purchase with your own code, then:
        onFinishPurchase(); // the view hides the loading indicator
      }
    
      @override
      void observerModeDidInitiateRestore(
        AdaptyUIFlowView view,
        void Function() onStartRestore,
        void Function() onFinishRestore,
      ) {
        onStartRestore();
        // restore purchases with your own code, then:
        onFinishRestore();
      }
    }

observerModeDidInitiatePurchase メソッドã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè³¼å…¥ã‚’é–‹å§‹ã—ãŸã“ã¨ã‚’ã€observerModeDidInitiateRestore ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒªã‚¹ãƒˆã‚¢ã‚’é–‹å§‹ã—ãŸã“ã¨ã‚’ãれãžã‚Œé€šçŸ¥ã—ã¾ã™ã€‚ã“れらã«å¿œã˜ã¦ã€ã‚«ã‚¹ã‚¿ãƒ ã®è³¼å…¥ã¾ãŸã¯ãƒªã‚¹ãƒˆã‚¢ãƒ•ローを起動ã—ã¦ãã ã•ã„。

ã¾ãŸã€è³¼å…¥ã¾ãŸã¯ãƒªã‚¹ãƒˆã‚¢ã®å‡¦ç†çжæ³ã‚’ AdaptyUI ã«é€šçŸ¥ã™ã‚‹ãŸã‚ã«ã€ä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’呼ã³å‡ºã™ã“ã¨ã‚’忘れãªã„ã§ãã ã•ã„。ã“れã¯ã€ãƒ­ãƒ¼ãƒ€ãƒ¼ã®è¡¨ç¤ºãªã©ã€ãƒ•ローを正常ã«å‹•作ã•ã›ã‚‹ãŸã‚ã«å¿…è¦ã§ã™ã€‚

コールãƒãƒƒã‚¯èª¬æ˜Ž
onStartPurchase()購入ãŒé–‹å§‹ã•れãŸã“ã¨ã‚’ AdaptyUI ã«é€šçŸ¥ã™ã‚‹ãŸã‚ã«å‘¼ã³å‡ºã™ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§ã™ã€‚
onFinishPurchase()購入ãŒå®Œäº†ã—ãŸã“ã¨ã‚’ AdaptyUI ã«é€šçŸ¥ã™ã‚‹ãŸã‚ã«å‘¼ã³å‡ºã™ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§ã™ã€‚
onStartRestore()復元ãŒé–‹å§‹ã•れãŸã“ã¨ã‚’ AdaptyUI ã«é€šçŸ¥ã™ã‚‹ãŸã‚ã«å‘¼ã³å‡ºã™ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§ã™ã€‚
onFinishRestore()復元ãŒå®Œäº†ã—ãŸã“ã¨ã‚’ AdaptyUI ã«é€šçŸ¥ã™ã‚‹ãŸã‚ã«å‘¼ã³å‡ºã™ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã§ã™ã€‚
  1. スクリーンを表示ã™ã‚‹å‰ã«ãƒªã‚¾ãƒ«ãƒãƒ¼ã‚’登録ã—ã¦ãã ã•ã„:

    AdaptyUI().setObserverModeResolver(MyObserverModeResolver());
  2. 通常ã©ãŠã‚Šãƒ•ロービューを作æˆã—ã¦è¡¨ç¤ºã—ã¦ãã ã•ã„: フローをå–å¾—ã—ã¦ãƒ“ューを作æˆã—ã€ãã®å¾Œè¡¨ç¤ºã—ã¾ã™ã€‚追加ã®ãƒ‘ラメーターã¯ä¸è¦ã§ã™ — リゾルãƒãƒ¼ã‚’登録ã™ã‚Œã°ã€Adapty ãŒãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã™ã‚‹ã™ã¹ã¦ã®ãƒ•ローãŠã‚ˆã³ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è³¼å…¥ãƒ»å¾©å…ƒãŒãã“を通ã˜ã¦å‡¦ç†ã•れã¾ã™ã€‚

トランザクションを報告ã—ã¦ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã¨é–¢é€£ä»˜ã‘ã‚‹ã“ã¨ã‚’忘れãªã„ã§ãã ã•ã„。ã“れを行ã‚ãªã„ã¨ã€Adaptyã¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’èªè­˜ã§ããšã€è³¼å…¥å…ƒã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’特定ã§ãã¾ã›ã‚“。

ÿÿÿÿ