ÿÿ 米国ã®Flutterアプリã§ã‚¦ã‚§ãƒ–決済をå—ã‘付ã‘ã‚‹ | Adapty ドキュメント

Flutter SDKã§ã‚¦ã‚§ãƒ–ペイウォールを実装ã™ã‚‹

å§‹ã‚ã‚‹å‰ã«ã€ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã§ã‚¦ã‚§ãƒ–ペイウォールを設定済ã¿ã§ã‚ã‚‹ã“ã¨ã€ãŠã‚ˆã³Adapty SDK ãƒãƒ¼ã‚¸ãƒ§ãƒ³3.6.1以é™ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。

自作ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€SDK ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã£ã¦ã‚¦ã‚§ãƒ–ペイウォールを処ç†ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚.openWebPaywall ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ¬¡ã®å‡¦ç†ã‚’行ã„ã¾ã™ã€‚

  1. 固有㮠URL を生æˆã—ã€Adapty ãŒç‰¹å®šã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è¡¨ç¤ºã•れãŸãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れãŸã‚¦ã‚§ãƒ–ページをç´ä»˜ã‘られるよã†ã«ã—ã¾ã™ã€‚
  2. ユーザーãŒã‚¢ãƒ—ãƒªã«æˆ»ã£ãŸã‚¿ã‚¤ãƒŸãƒ³ã‚°ã‚’検知ã—ã€çŸ­ã„間隔㧠.getProfile をリクエストã—ã¦ã€ãƒ—ロファイルã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ›´æ–°ã•れãŸã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚

ã“れã«ã‚ˆã‚Šã€æ”¯æ‰•ã„ãŒæˆåŠŸã—ã¦ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ›´æ–°ã•れるã¨ã€ã‚µãƒ–スクリプションã¯ã»ã¼å³åº§ã«ã‚¢ãƒ—ãƒªå†…ã§æœ‰åŠ¹åŒ–ã•れã¾ã™ã€‚

try {
  await Adapty().openWebPaywall(product: <YOUR_PRODUCT>);
  // The web paywall will be opened
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}

openWebPaywall メソッドã«ã¯2ã¤ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚りã¾ã™ï¼š

  1. openWebPaywall(product) — ペイウォールをもã¨ã« URL を生æˆã—ã€ãƒ—ロダクトデータも URL ã«ä»˜åŠ ã—ã¾ã™ã€‚
  2. openWebPaywall(paywall) — ペイウォールをもã¨ã« URL を生æˆã—ã¾ã™ãŒã€ãƒ—ロダクトデータ㯠URL ã«ä»˜åŠ ã—ã¾ã›ã‚“。Adapty ペイウォールã®ãƒ—ロダクトã¨ã‚¦ã‚§ãƒ–ペイウォールã®ãƒ—ロダクトãŒç•°ãªã‚‹å ´åˆã«ä½¿ç”¨ã—ã¦ãã ã•ã„。 SDK v4 ã§ã¯ã€paywall パラメータ㯠AdaptyFlowPaywall(å–å¾—ã—ãŸãƒ•ローã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãƒãƒªã‚¢ãƒ³ãƒˆï¼‰ã‚’å—ã‘å–りã¾ã™ã€‚インデックスアクセスã™ã‚‹å‰ã« flow.paywalls ãŒç©ºã§ãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„(例:flow.paywalls[0])。

エラーã®å‡¦ç†

エラー説明推奨対応
AdaptyError.paywallWithoutPurchaseUrlペイウォールã«ã‚¦ã‚§ãƒ–購入 URL ãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“Adapty ダッシュボードã§ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãŒæ­£ã—ã設定ã•れã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„
AdaptyError.productWithoutPurchaseUrlプロダクトã«ã‚¦ã‚§ãƒ–購入 URL ãŒã‚りã¾ã›ã‚“Adapty ダッシュボードã§ãƒ—ロダクトã®è¨­å®šã‚’確èªã—ã¦ãã ã•ã„
AdaptyError.failedOpeningWebPaywallUrlブラウザ㧠URL ã‚’é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸãƒ‡ãƒã‚¤ã‚¹ã®è¨­å®šã‚’確èªã™ã‚‹ã‹ã€åˆ¥ã®è³¼å…¥æ–¹æ³•ã‚’æä¾›ã—ã¦ãã ã•ã„
AdaptyError.failedDecodingWebPaywallUrlURL ã®ãƒ‘ラメーターを正ã—ãエンコードã§ãã¾ã›ã‚“ã§ã—ãŸURL ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãƒ¼ãŒæœ‰åйã‹ã¤æ­£ã—ã„å½¢å¼ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„

ウェブペイウォールをアプリ内ブラウザã§é–‹ã

アプリ内ブラウザã§ã®ã‚¦ã‚§ãƒ–ペイウォールã®è¡¨ç¤ºã¯ã€Adapty SDK v3.15 以é™ã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚

デフォルトã§ã¯ã€ã‚¦ã‚§ãƒ–ペイウォールã¯å¤–部ブラウザã§é–‹ã‹ã‚Œã¾ã™ã€‚

シームレスãªãƒ¦ãƒ¼ã‚¶ãƒ¼ä½“験をæä¾›ã™ã‚‹ãŸã‚ã«ã€ã‚¦ã‚§ãƒ–ペイウォールをアプリ内ブラウザã§é–‹ãã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ã‚¦ã‚§ãƒ–購入ページãŒã‚¢ãƒ—リ内ã«è¡¨ç¤ºã•れã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã‚¢ãƒ—リを切り替ãˆã‚‹ã“ã¨ãªãå–引を完了ã§ãã¾ã™ã€‚

ã“れを有効ã«ã™ã‚‹ã«ã¯ã€in パラメータを .inAppBrowser ã«è¨­å®šã—ã¾ã™ã€‚

try {
  await Adapty().openWebPaywall(
    product: <YOUR_PRODUCT>,
    openIn: AdaptyWebPresentation.inAppBrowser,
  );
  // The web paywall will be opened in the in-app browser
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}
ÿÿÿÿ