ÿÿ Webペイウォールã®å®Ÿè£… | Capacitor SDK | Adapty ドキュメント

Webペイウォールã®å®Ÿè£…

å§‹ã‚ã‚‹å‰ã«ã€ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã§Webペイウォールを設定ã—ã€Adapty SDKãƒãƒ¼ã‚¸ãƒ§ãƒ³3.6.1以é™ã‚’インストールã—ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。

Webペイウォールを開ã

自分ã§é–‹ç™ºã—ãŸãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã§Webペイウォールを扱ã†å ´åˆã¯ã€SDKã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚.openWebPaywall メソッドã¯ä»¥ä¸‹ã‚’行ã„ã¾ã™ï¼š

  1. AdaptyãŒç‰¹å®šã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è¡¨ç¤ºã•れãŸãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã¨ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆå…ˆã®Webページをç´ä»˜ã‘ã‚‹ãŸã‚ã®ä¸€æ„ã®URLを生æˆã—ã¾ã™ã€‚
  2. ユーザーãŒã‚¢ãƒ—ãƒªã«æˆ»ã£ãŸã‚¿ã‚¤ãƒŸãƒ³ã‚°ã‚’追跡ã—ã€ãƒ—ロファイルã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ›´æ–°ã•れãŸã‹ã©ã†ã‹ã‚’確èªã™ã‚‹ãŸã‚ã«çŸ­ã„間隔㧠.getProfile を呼ã³å‡ºã—ã¾ã™ã€‚ 支払ã„ãŒæˆåŠŸã—ã¦ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ›´æ–°ã•れるã¨ã€ã‚µãƒ–スクリプションã¯ã»ã¼å³åº§ã«ã‚¢ãƒ—ãƒªå†…ã§æœ‰åйã«ãªã‚Šã¾ã™ã€‚

try {
  await adapty.openWebPaywall({ paywallOrProduct: product });
} catch (error) {
  console.error('Failed to open web paywall:', error);
}

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

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

エラーã®å‡¦ç†

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

ウェブペイウォールã®URLを自分ã§å–å¾—ã™ã‚‹

SDKã«ãƒšãƒ¼ã‚¸ã‚’é–‹ã‹ã›ã‚‹ã®ã§ã¯ãªãã€ã‚¦ã‚§ãƒ–購入ページを自分ã§è¡¨ç¤ºã—ãŸã„å ´åˆã¯ã€createWebPaywallUrl を使用ã—ã¦ãã ã•ã„。ã“れ㯠openWebPaywall ãŒé–‹ãã®ã¨åŒã˜å›ºæœ‰ã®URLã‚’è¿”ã™ã®ã§ã€ç‹¬è‡ªã®ã‚¦ã‚§ãƒ–ビューã§ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã—ãŸã‚Šã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚’自分ã§ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã—ãŸã‚Šã§ãã¾ã™ã€‚引数ã«ã¯ openWebPaywall ã¨åŒã˜ paywallOrProduct を渡ã—ã¾ã™ã€‚フェッãƒã—ãŸãƒ•ローã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãƒãƒªã‚¢ãƒ³ãƒˆï¼ˆAdaptyFlowPaywall)ã¾ãŸã¯ AdaptyPaywallProduct を指定ã§ãã¾ã™ã€‚


try {
  const url = await adapty.createWebPaywallUrl({ paywallOrProduct: product });
  // open `url` in your own web view, or handle the redirect yourself
} catch (error) {
  console.error('Failed to create web paywall URL:', error);
}

ä»»æ„ã®URL(ウェブペイウォール以外)をãƒã‚¤ãƒ†ã‚£ãƒ–ブラウザã§é–‹ãå ´åˆâ€”—ãŸã¨ãˆã°ãƒ•ローã®ãƒœã‚¿ãƒ³ã‹ã‚‰â€”—ã¯ã€ä»£ã‚り㫠adapty.openWebUrl を使用ã—ã¦ãã ã•ã„。

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

アプリ内ブラウザã§ã‚¦ã‚§ãƒ–ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’é–‹ãæ©Ÿèƒ½ã¯ã€Adapty SDK v3.15 以é™ã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚

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

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

ã“れを有効ã«ã™ã‚‹ã«ã¯ã€openWebPaywall ã® openIn ã« WebPresentation.BrowserInApp を設定ã—ã¾ã™ã€‚


try {
    await adapty.openWebPaywall({
        paywallOrProduct: product,
        openIn: WebPresentation.BrowserInApp, // default – WebPresentation.BrowserOutApp
    });
} catch (error) {
    console.error('Failed to open web paywall:', error);
}
ÿÿÿÿ