ÿÿ フローã¨ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤º - Kotlin Multiplatform | Adapty ドキュメント

フローã¨ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤º - Kotlin Multiplatform

フローã¨ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤º
✦
フロー Flow Builder ã§ä½œæˆâ€”—デãƒã‚¤ã‚¹ä¸Šã§ãƒã‚¤ãƒ†ã‚£ãƒ–ã«ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã•れã€WebView ã¯ä¸è¦
✦
Paywall Builder ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ« 既存ã®ã™ã¹ã¦ã® Paywall Builder コンテンツ

フローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’作æˆã—ãŸå ´åˆã€ãれをモãƒã‚¤ãƒ«ã‚¢ãƒ—リã®ã‚³ãƒ¼ãƒ‰ã§ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã—ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è¡¨ç¤ºã™ã‚‹æ–¹æ³•を心é…ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。フローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã«ã¯ã€è¡¨ç¤ºã™ã‚‹å†…容ã¨ãã®è¡¨ç¤ºæ–¹æ³•ã®ä¸¡æ–¹ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚

ã“ã®ã‚¬ã‚¤ãƒ‰ã¯ã€Adapty ã«ã‚ˆã£ã¦ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã•ã‚Œã‚‹ãƒ•ãƒ­ãƒ¼ã¨æ–°ã—ã„ペイウォールビルダーã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’対象ã¨ã—ã¦ã„ã¾ã™ã€‚リモートコンフィグã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã¨ Observer モード ã§ã¯ã€å‡¦ç†æ–¹æ³•ãŒç•°ãªã‚Šã¾ã™ã€‚

以下ã§ä½¿ç”¨ã™ã‚‹ flow オブジェクトã®å–得方法ã«ã¤ã„ã¦ã¯ã€ãƒ•ローã¨ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®å–å¾—ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

Adapty Kotlin Multiplatform SDK ã§ã¯ã€ãƒ•ローã¨ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã™ã‚‹æ–¹æ³•ãŒ2ã¤ã‚りã¾ã™ï¼š

  • Compose Multiplatform を使用ã™ã‚‹å ´åˆ
  • Compose Multiplatform を使用ã—ãªã„å ´åˆ

Compose Multiplatform ã®å ´åˆ

フローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã™ã‚‹ã«ã¯ã€createFlowView メソッドã§ä½œæˆã—㟠view ã«å¯¾ã—㦠view.present() メソッドを呼ã³å‡ºã—ã¾ã™ã€‚å„ view ã¯ä¸€åº¦ã—ã‹ä½¿ç”¨ã§ãã¾ã›ã‚“。フローをå†åº¦è¡¨ç¤ºã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã¯ã€createFlowView ã‚’ã‚‚ã†ä¸€åº¦å‘¼ã³å‡ºã—ã¦æ–°ã—ã„ view インスタンスを作æˆã—ã¦ãã ã•ã„。

åŒã˜ view ã‚’å†ä½œæˆã›ãšã«å†åˆ©ç”¨ã™ã‚‹ã¨ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚


viewModelScope.launch {
    AdaptyUI.createFlowView(flow = flow).onSuccess { view ->
        view.present()
    }.onError { error ->
        // handle the error
    }
}

ダイアログを表示ã™ã‚‹

Android ã§ãƒ•ローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãŒè¡¨ç¤ºã•れã¦ã„ã‚‹å ´åˆã¯ã€ãƒã‚¤ãƒ†ã‚£ãƒ–ã®ã‚¢ãƒ©ãƒ¼ãƒˆãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã®ä»£ã‚りã«ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã—ã¦ãã ã•ã„。Android ã§ã¯ã€é€šå¸¸ã®ã‚¢ãƒ©ãƒ¼ãƒˆãŒãƒ•ロービューã®èƒŒå¾Œã«è¡¨ç¤ºã•れるãŸã‚ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã¯è¦‹ãˆã¾ã›ã‚“。ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã™ã‚‹ã“ã¨ã§ã€ã™ã¹ã¦ã®ãƒ—ラットフォームã§ãƒ•ローã®ä¸Šã«æ­£ã—ãダイアログãŒè¡¨ç¤ºã•れã¾ã™ã€‚


viewModelScope.launch {
    view.showDialog(
        title = "Close this screen?",
        content = "You will lose access to exclusive offers.",
        primaryActionTitle = "Stay",
        secondaryActionTitle = "Close"
    ).onSuccess { action ->
        if (action == AdaptyUIDialogActionType.SECONDARY) {
            // User confirmed - close the flow
            view.dismiss()
        }
        // If primary - do nothing, user stays
    }.onError { error ->
        // handle the error
    }
}

iOSã®ãƒ—レゼンテーションスタイルを設定ã™ã‚‹

present() メソッド㫠iosPresentationStyle パラメータを渡ã™ã“ã¨ã§ã€iOS ã§ã®ãƒ•ローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤ºã‚¹ã‚¿ã‚¤ãƒ«ã‚’設定ã§ãã¾ã™ã€‚ã“ã®ãƒ‘ラメータã«ã¯ AdaptyUIIOSPresentationStyle.FULLSCREEN(デフォルト)ã¾ãŸã¯ AdaptyUIIOSPresentationStyle.PAGESHEET を指定ã§ãã¾ã™ã€‚


viewModelScope.launch {
    val view = AdaptyUI.createFlowView(flow = flow).getOrNull()
    view?.present(iosPresentationStyle = AdaptyUIIOSPresentationStyle.PAGESHEET)
}

Compose Multiplatformを使ã‚ãªã„å ´åˆ

createNativeFlowView ã¯ã‚³ã‚¢ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ« io.adapty:adapty-kmp ã®ä¸€éƒ¨ã§ã™ã€‚Compose Multiplatform を使用ã—ãªã„プロジェクトã§ã¯ã€io.adapty:adapty-kmp-ui ã®ä¾å­˜é–¢ä¿‚ã¯ä¸è¦ã§ã™ã€‚

Compose Multiplatform を使ã‚ãšã«ãƒ•ローやペイウォールを埋ã‚込むã«ã¯ã€createNativeFlowView を呼ã³å‡ºã—ã¦ãã ã•ã„。返ã•れ㟠AdaptyNativeFlowView をレイアウトã«è¿½åŠ ã—ã¾ã™ã€‚

ビューã®ç ´æ£„

ビューをレイアウトã‹ã‚‰å‰Šé™¤ã™ã‚‹éš›ã¯ dispose() を呼ã³å‡ºã—ã¦ãã ã•ã„。ã“れã«ã‚ˆã‚Šã€ã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠãƒ¼ã®ç™»éŒ²ãŒè§£é™¤ã•れã€å†…部リソースãŒè§£æ”¾ã•れã¾ã™ã€‚

nativeView.dispose()

カスタムタグ

カスタムタグを使ãˆã°ã€ã‚·ãƒŠãƒªã‚ªã”ã¨ã«åˆ¥ã€…ã®ãƒ•ローやペイウォールを作æˆã™ã‚‹æ‰‹é–“ã‚’çœã‘ã¾ã™ã€‚ユーザーデータã«åŸºã¥ã„ã¦å‹•çš„ã«å¤‰åŒ–ã™ã‚‹å˜ä¸€ã®ãƒ•ローを想åƒã—ã¦ã¿ã¦ãã ã•ã„。ãŸã¨ãˆã°ã€ã€Œã“ã‚“ã«ã¡ã¯ï¼ã€ã¨ã„ã†æ±Žç”¨çš„ãªæŒ¨æ‹¶ã®ä»£ã‚りã«ã€ã€Œã“ã‚“ã«ã¡ã¯ã€John ã•ã‚“ï¼ã€ã‚„「ã“ã‚“ã«ã¡ã¯ã€Ann ã•ã‚“ï¼ã€ã¨ã„ã£ãŸå€‹äººã«å‘ã‘ãŸæŒ¨æ‹¶ã‚’表示ã§ãã¾ã™ã€‚

ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã®æ´»ç”¨ä¾‹ã‚’ã„ãã¤ã‹ç´¹ä»‹ã—ã¾ã™ï¼š

  • フローやペイウォールã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®åå‰ã‚„メールアドレスを表示ã™ã‚‹ã€‚
  • ä»Šæ—¥ã®æ›œæ—¥ã‚’表示ã—ã¦è³¼è²·æ„欲を高ã‚る(例:「ãƒãƒƒãƒ”ーサーズデーã€ï¼‰ã€‚
  • 販売ã—ã¦ã„るプロダクトã«é–¢ã™ã‚‹ãƒ‘ーソナライズã•れãŸè©³ç´°æƒ…報を追加ã™ã‚‹ï¼ˆãƒ•ィットãƒã‚¹ãƒ—ログラムã®åå‰ã‚„ VoIP アプリã®é›»è©±ç•ªå·ãªã©ï¼‰ã€‚

カスタムタグを使ã†ã¨ã€ã•ã¾ã–ã¾ãªçжæ³ã«é©å¿œã™ã‚‹æŸ”軟ãªãƒ•ローを作æˆã§ãã€ã‚¢ãƒ—リã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースをよりパーソナライズã•れãŸé­…力的ãªã‚‚ã®ã«ã§ãã¾ã™ã€‚

å ´åˆã«ã‚ˆã£ã¦ã¯ã€ã‚¢ãƒ—リãŒã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã®ç½®æ›å†…容を把æ¡ã§ããªã„ã“ã¨ãŒã‚りã¾ã™ã€‚特ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® AdaptyUI SDK を使用ã—ã¦ã„ã‚‹å ´åˆãŒãれã«ã‚ãŸã‚Šã¾ã™ã€‚ã“れを防ããŸã‚ã€æœªçŸ¥ã®ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã‚’å«ã‚€è¡Œã‚’ç½®ãæ›ãˆã‚‹ãƒ•ォールãƒãƒƒã‚¯ãƒ†ã‚­ã‚¹ãƒˆã‚’å¿…ãšè¿½åŠ ã—ã¦ãã ã•ã„。ã“れを設定ã—ãªã„ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã‚¿ã‚°ãŒã‚³ãƒ¼ãƒ‰ï¼ˆ<USERNAME/>)ã®ã¾ã¾è¡¨ç¤ºã•れるã“ã¨ãŒã‚りã¾ã™ã€‚

フローやペイウォールã§ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã‚’使用ã™ã‚‹ã«ã¯ã€ãƒ•ロービューを作æˆã™ã‚‹éš›ã«ã‚¿ã‚°ã‚’渡ã—ã¾ã™ã€‚

カスタムタイマー

タイマーã¯ã€æœŸé–“é™å®šã®ã‚¹ãƒšã‚·ãƒ£ãƒ«ã‚ªãƒ•ァーやシーズンオファーを訴求ã™ã‚‹ã®ã«å½¹ç«‹ã¤ãƒ„ールã§ã™ã€‚ãŸã ã—ã€ã“ã®ã‚¿ã‚¤ãƒžãƒ¼ã¯ã‚ªãƒ•ã‚¡ãƒ¼ã®æœ‰åŠ¹æœŸé™ã‚„ã‚­ãƒ£ãƒ³ãƒšãƒ¼ãƒ³ã®æœŸé–“ã¨ã¯é€£å‹•ã—ã¦ã„ã¾ã›ã‚“。設定ã—ãŸå€¤ã‹ã‚‰ã‚¼ãƒ­ã«å‘ã‹ã£ã¦ã‚«ã‚¦ãƒ³ãƒˆãƒ€ã‚¦ãƒ³ã™ã‚‹ã ã‘ã®ã‚·ãƒ³ãƒ—ルãªã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒ­ãƒ³ã®ã‚«ã‚¦ãƒ³ãƒˆãƒ€ã‚¦ãƒ³ã§ã™ã€‚タイマーãŒã‚¼ãƒ­ã«é”ã—ã¦ã‚‚何も起ã“らãšã€ãã®ã¾ã¾ã‚¼ãƒ­ã®çŠ¶æ…‹ãŒç¶šãã¾ã™ã€‚

タイマーã®å‰å¾Œã«ãƒ†ã‚­ã‚¹ãƒˆã‚’カスタマイズã—ã¦ã€ã€Œã‚ªãƒ•ァー終了ã¾ã§ï¼š10:00 ç§’ã€ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’作æˆã§ãã¾ã™ã€‚

フローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã§ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚¤ãƒžãƒ¼ã‚’使用ã™ã‚‹ã«ã¯ã€ãƒ•ロービューを作æˆã™ã‚‹éš›ã«æ¸¡ã—ã¦ãã ã•ã„:

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

ã“ã®ã‚¬ã‚¤ãƒ‰ã¯æ–°ã—ã„ペイウォールビルダーã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«å°‚用ã§ã™ã€‚リモートコンフィグã§è¨­è¨ˆã•れãŸãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚„ Observer mode ã§ã¯ã€ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤ºæ–¹æ³•ãŒç•°ãªã‚Šã¾ã™ã€‚

リモートコンフィグã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€ãƒªãƒ¢ãƒ¼ãƒˆã‚³ãƒ³ãƒ•ィグã§è¨­è¨ˆã•れãŸãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

Adapty Kotlin Multiplatform SDKã¯ã€ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã™ã‚‹2ã¤ã®æ–¹æ³•ã‚’æä¾›ã—ã¾ã™ï¼š

  • Compose Multiplatformを使用ã™ã‚‹å ´åˆ
  • Compose Multiplatformを使用ã—ãªã„å ´åˆ

Compose Multiplatform を使用ã™ã‚‹å ´åˆ

ペイウォールを表示ã™ã‚‹ã«ã¯ã€createPaywallView メソッドã§ä½œæˆã—㟠view ã® view.present() メソッドを使用ã—ã¾ã™ã€‚å„ view ã¯ä¸€åº¦ã—ã‹ä½¿ç”¨ã§ãã¾ã›ã‚“。å†åº¦ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã¯ã€createPaywallView ã‚’ã‚‚ã†ä¸€åº¦å‘¼ã³å‡ºã—ã¦æ–°ã—ã„ view インスタンスを作æˆã—ã¦ãã ã•ã„。

åŒã˜ view ã‚’å†ä½œæˆã›ãšã«å†åˆ©ç”¨ã™ã‚‹ã¨ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚


viewModelScope.launch {
    AdaptyUI.createPaywallView(paywall = paywall).onSuccess { view ->
        view.present()
    }.onError { error ->
        // handle the error
    }
}

ダイアログを表示ã™ã‚‹

Android ã§ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãŒè¡¨ç¤ºã•れã¦ã„ã‚‹å ´åˆã€ãƒã‚¤ãƒ†ã‚£ãƒ–ã®ã‚¢ãƒ©ãƒ¼ãƒˆãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã®ä»£ã‚りã«ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã—ã¦ãã ã•ã„。Android ã§ã¯ã€é€šå¸¸ã®ã‚¢ãƒ©ãƒ¼ãƒˆã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®èƒŒé¢ã«è¡¨ç¤ºã•れるãŸã‚ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‹ã‚‰è¦‹ãˆãªããªã‚Šã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã™ã‚‹ã“ã¨ã§ã€ã™ã¹ã¦ã®ãƒ—ラットフォームã§ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®ä¸Šã«æ­£ã—ãダイアログを表示ã§ãã¾ã™ã€‚


viewModelScope.launch {
    view.showDialog(
        title = "Close paywall?",
        content = "You will lose access to exclusive offers.",
        primaryActionTitle = "Stay",
        secondaryActionTitle = "Close"
    ).onSuccess { action ->
        if (action == AdaptyUIDialogActionType.SECONDARY) {
            // User confirmed - close the paywall
            view.dismiss()
        }
        // If primary - do nothing, user stays
    }.onError { error ->
        // handle the error
    }
}

iOS ã®ãƒ—レゼンテーションスタイルを設定ã™ã‚‹

present() メソッド㫠iosPresentationStyle パラメータを渡ã™ã“ã¨ã§ã€iOS ã§ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤ºæ–¹æ³•を設定ã§ãã¾ã™ã€‚パラメータã«ã¯ AdaptyUIIOSPresentationStyle.FULLSCREEN(デフォルト)ã¾ãŸã¯ AdaptyUIIOSPresentationStyle.PAGESHEET を指定ã§ãã¾ã™ã€‚


viewModelScope.launch {
    val view = AdaptyUI.createPaywallView(paywall = paywall).getOrNull()
    view?.present(iosPresentationStyle = AdaptyUIIOSPresentationStyle.PAGESHEET)
}

Compose Multiplatformãªã—ã§ä½¿ã†

createNativePaywallViewã¯ã‚³ã‚¢io.adapty:adapty-kmpモジュールã®ä¸€éƒ¨ã§ã™ã€‚Compose Multiplatformを使用ã—ãªã„プロジェクトã§ã¯ã€io.adapty:adapty-kmp-uiä¾å­˜é–¢ä¿‚ã¯ä¸è¦ã§ã™ã€‚

Compose Multiplatformãªã—ã§ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’埋ã‚込むã«ã¯ã€createNativePaywallViewを呼ã³å‡ºã—ã¾ã™ã€‚ã“れã¯ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã«è¿½åŠ ã™ã‚‹AdaptyNativePaywallViewã‚’è¿”ã—ã¾ã™ï¼š

ビューã®ç ´æ£„

ビューをレイアウトã‹ã‚‰å‰Šé™¤ã™ã‚‹éš›ã¯ dispose() を呼ã³å‡ºã—ã¦ãã ã•ã„。ã“れã«ã‚ˆã‚Šã€ã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠãƒ¼ã®ç™»éŒ²ãŒè§£é™¤ã•れã€å†…部リソースãŒè§£æ”¾ã•れã¾ã™ã€‚

nativeView.dispose()

カスタムタグ

カスタムタグを使ã†ã¨ã€ã‚·ãƒŠãƒªã‚ªã”ã¨ã«åˆ¥ã€…ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’作æˆã—ãªãã¦æ¸ˆã¿ã¾ã™ã€‚ユーザーデータã«åŸºã¥ã„ã¦å‹•çš„ã«å¤‰åŒ–ã™ã‚‹1ã¤ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’想åƒã—ã¦ã¿ã¦ãã ã•ã„。ãŸã¨ãˆã°ã€ã€Œã“ã‚“ã«ã¡ã¯ï¼ã€ã¨ã„ã†æ±Žç”¨çš„ãªæŒ¨æ‹¶ã®ä»£ã‚りã«ã€ã€Œã“ã‚“ã«ã¡ã¯ã€Johnï¼ã€ã‚„「ã“ã‚“ã«ã¡ã¯ã€Annï¼ã€ã®ã‚ˆã†ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’åå‰ã§å‘¼ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚

ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã®æ´»ç”¨ä¾‹ã‚’ã„ãã¤ã‹ã”紹介ã—ã¾ã™ï¼š

  • ペイウォールã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®åå‰ã‚„メールアドレスを表示ã™ã‚‹ã€‚
  • 売上アップã®ãŸã‚ã«ç¾åœ¨ã®æ›œæ—¥ã‚’表示ã™ã‚‹ï¼ˆä¾‹ï¼šã€Œãƒãƒƒãƒ”ーサーズデーã€ï¼‰ã€‚
  • 販売ã—ã¦ã„るプロダクトã«é–¢ã™ã‚‹ãƒ‘ーソナライズã•れãŸè©³ç´°ã‚’追加ã™ã‚‹ï¼ˆãƒ•ィットãƒã‚¹ãƒ—ログラムã®åå‰ã‚„ã€VoIPアプリã®é›»è©±ç•ªå·ãªã©ï¼‰ã€‚

カスタムタグを使用ã™ã‚‹ã¨ã€ã•ã¾ã–ã¾ãªçжæ³ã«é©å¿œã™ã‚‹æŸ”軟ãªãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’作æˆã§ãã€ã‚¢ãƒ—リã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースをよりパーソナライズã•れãŸé­…力的ãªã‚‚ã®ã«ã§ãã¾ã™ã€‚

アプリ㌠カスタムタグã®ç½®æ›å†…容をèªè­˜ã§ããªã„å ´åˆãŒã‚りã¾ã™â€”特ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® AdaptyUI SDK を使用ã—ã¦ã„ã‚‹å ´åˆã§ã™ã€‚ã“れを防ããŸã‚ã€æœªçŸ¥ã®ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã‚’å«ã‚€è¡Œã‚’ç½®ãæ›ãˆã‚‹ãƒ•ォールãƒãƒƒã‚¯ãƒ†ã‚­ã‚¹ãƒˆã‚’å¿…ãšè¿½åŠ ã—ã¦ãã ã•ã„。設定ã—ãªã„ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã‚¿ã‚°ãŒã‚³ãƒ¼ãƒ‰ï¼ˆ<USERNAME/>)ã¨ã—ã¦ãã®ã¾ã¾è¡¨ç¤ºã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

ペイウォールã§ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã‚’使用ã™ã‚‹ã«ã¯ã€ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãƒ“ューを作æˆã™ã‚‹éš›ã«ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚°ã‚’渡ã—ã¾ã™ï¼š

カスタムタイマー

ペイウォールタイマーã¯ã€æœŸé–“é™å®šã®ç‰¹åˆ¥ã‚ªãƒ•ァーや季節オファーを宣ä¼ã™ã‚‹ã®ã«ä¾¿åˆ©ãªãƒ„ールã§ã™ã€‚ãŸã ã—ã€ã“ã®ã‚¿ã‚¤ãƒžãƒ¼ã¯ã‚ªãƒ•ã‚¡ãƒ¼ã®æœ‰åŠ¹æœŸé™ã‚„ã‚­ãƒ£ãƒ³ãƒšãƒ¼ãƒ³ã®æœŸé–“ã¨ã¯é€£å‹•ã—ã¦ã„ã¾ã›ã‚“。設定ã—ãŸå€¤ã‹ã‚‰ã‚¼ãƒ­ã¾ã§ã‚«ã‚¦ãƒ³ãƒˆãƒ€ã‚¦ãƒ³ã™ã‚‹ã ã‘ã®ã‚·ãƒ³ãƒ—ルãªã‚¿ã‚¤ãƒžãƒ¼ã§ã™ã€‚タイマーãŒã‚¼ãƒ­ã«ãªã£ã¦ã‚‚特ã«ä½•ã‚‚èµ·ã“らãšã€ã‚¼ãƒ­ã®ã¾ã¾è¡¨ç¤ºã•れ続ã‘ã¾ã™ã€‚

タイマーã®å‰å¾Œã«ãƒ†ã‚­ã‚¹ãƒˆã‚’カスタマイズã—ã¦ã€ã€Œã‚ªãƒ•ァー終了ã¾ã§: 10:00 ç§’ã€ã®ã‚ˆã†ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’作æˆã§ãã¾ã™ã€‚

ペイウォールã§ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚¤ãƒžãƒ¼ã‚’使用ã™ã‚‹ã«ã¯ã€ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ãƒ“ューを作æˆã™ã‚‹éš›ã«æ¸¡ã—ã¦ãã ã•ã„:

ÿÿÿÿ