ÿÿ React Nativeã§ã®ãƒ•ォールãƒãƒƒã‚¯ãƒ•ローã®ä½¿ç”¨ | Adapty ドキュメント

Expoプロジェクトã§ãƒ•ォールãƒãƒƒã‚¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’Expoプロジェクトã§ä½¿ç”¨ã™ã‚‹

ã“ã®ã‚¬ã‚¤ãƒ‰ã¯ Expo プロジェクトã«é©ç”¨ã•れã¾ã™ã€‚ **純粋㪠React Native(Expo を使用ã—ãªã„å ´åˆï¼‰**を使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€ç´”粋㪠React Native ã®ãƒ•ォールãƒãƒƒã‚¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚¬ã‚¤ãƒ‰ã‚’ã”覧ãã ã•ã„。

スムーズãªãƒ¦ãƒ¼ã‚¶ãƒ¼ä½“験を維æŒã™ã‚‹ãŸã‚ã«ã€ãƒ•ローã€ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã€ã‚ªãƒ³ãƒœãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã«ãƒ•ォールãƒãƒƒã‚¯ã‚’設定ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚ã“ã®å¯¾ç­–ã«ã‚ˆã‚Šã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šãŒéƒ¨åˆ†çš„ã¾ãŸã¯å®Œå…¨ã«å¤±ã‚れãŸå ´åˆã§ã‚‚ã€ã‚¢ãƒ—ãƒªã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã®æ©Ÿèƒ½ã‚’ç¶­æŒã§ãã¾ã™ã€‚

  • アプリケーション㌠Adapty サーãƒãƒ¼ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„å ´åˆï¼š

    フォールãƒãƒƒã‚¯ã®ãƒ•ローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã—ã€ãƒ­ãƒ¼ã‚«ãƒ«ã®ã‚ªãƒ³ãƒœãƒ¼ãƒ‡ã‚£ãƒ³ã‚°è¨­å®šã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚

  • アプリケーションãŒã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„å ´åˆï¼š

    フォールãƒãƒƒã‚¯ã®ãƒ•ローã¾ãŸã¯ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã§ãã¾ã™ã€‚オンボーディングã¯ãƒªãƒ¢ãƒ¼ãƒˆã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’å«ã‚€ãŸã‚ã€å‹•作ã«ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆæŽ¥ç¶šãŒå¿…è¦ã§ã™ã€‚

ã“ã®ã‚¬ã‚¤ãƒ‰ã®æ‰‹é †ã‚’進ã‚ã‚‹å‰ã«ã€Adapty ã‹ã‚‰ãƒ•ォールãƒãƒƒã‚¯è¨­å®šãƒ•ァイルをダウンロードã—ã¦ãã ã•ã„。

Adapty SDK ã¯ãƒ•ォールãƒãƒƒã‚¯ãƒ•ァイルをãƒã‚¤ãƒ†ã‚£ãƒ–ãƒãƒ³ãƒ‰ãƒ«ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚iOS ã®å ´åˆã¯ .app パッケージ内ã®ãƒªã‚½ãƒ¼ã‚¹ã€Android ã®å ´åˆã¯ android/app/src/main/assets/ é…下ã®ã‚¨ãƒ³ãƒˆãƒªã§ã™ã€‚Expo プロジェクトã§ã¯ã€npx expo prebuild --clean を実行ã™ã‚‹ãŸã³ã«ã“れらã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒå†ç”Ÿæˆã•れるãŸã‚ã€ãƒ•ァイルを手動ã§é…ç½®ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。react-native-adapty ã®è¨­å®šãƒ—ラグインãŒã€ãƒ•ァイルをãƒã‚¤ãƒ†ã‚£ãƒ–ãƒãƒ³ãƒ‰ãƒ«ã«è‡ªå‹•çš„ã«çµ„ã¿è¾¼ã‚“ã§ãれã¾ã™ã€‚

FocusJournalExpo サンプルアプリã§ã€å®Œå…¨ãªå‹•作環境ã®ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—を確èªã§ãã¾ã™ã€‚

設定

  1. フォールãƒãƒƒã‚¯ JSON ファイルをプロジェクト内ã®ä»»æ„ã®å ´æ‰€ã«é…ç½®ã—ã¾ã™ã€‚通常ã¯ä»–ã®ã‚¢ã‚»ãƒƒãƒˆã¨åŒã˜å ´æ‰€ã«ç½®ãã¾ã™ï¼š

    <your-project>/
    └── assets/
        ├── ios_fallback.json
        └── android_fallback.json
  2. app.json(ã¾ãŸã¯ app.config.js)㮠react-native-adapty エントリ㫠fallbackFile オプションを追加ã—ã¾ã™ã€‚å„プラットフォームキーã¯ä»»æ„ã§ã™ã€‚å¿…è¦ãªãƒ—ラットフォームã®ã¿è¨­å®šã—ã¦ãã ã•ã„:

   {
     "expo": {
       "plugins": [
         [
           "react-native-adapty",
           {
             "fallbackFile": {
               "ios": "./assets/ios_fallback.json",
               "android": "./assets/android_fallback.json"
             }
           }
         ]
       ]
     }
   }

Adapty ã¯ãƒ—ラットフォームã”ã¨ã«ç•°ãªã‚‹ãƒ•ォールãƒãƒƒã‚¯ JSON をエクスãƒãƒ¼ãƒˆã—ã¾ã™ — iOS ã§ã¯ Apple ã®ãƒ—ロダクト IDã€Android ã§ã¯ Google Play ã®ãƒ—ロダクト ID ãŒä½¿ç”¨ã•れã¾ã™ã€‚å„プラットフォームã«å¯¾å¿œã™ã‚‹ãƒ•ァイルを指定ã—ã¦ãã ã•ã„。

  1. ãƒã‚¤ãƒ†ã‚£ãƒ–プロジェクトをå†ç”Ÿæˆã—ã¾ã™:
   npx expo prebuild

プラグイン㯠iOS ファイルを Xcode プロジェクトã®ãƒãƒ³ãƒ‰ãƒ«ãƒªã‚½ãƒ¼ã‚¹ã«è¿½åŠ ã—ã€Android ファイルを android/app/src/main/assets/ ã«ã‚³ãƒ”ーã—ã¾ã™ã€‚prebuild ã®å‡ºåŠ›ã«ã¯æ¬¡ã®ã‚ˆã†ãªè¡ŒãŒå«ã¾ã‚Œã¾ã™ï¼š

[react-native-adapty] Registered ios_fallback.json as iOS bundle resource
[react-native-adapty] Copied android_fallback.json to android assets/
  1. 実行時㫠SDK ã¸ãƒ•ァイルを登録ã—ã¾ã™ï¼š

await adapty.activate('PUBLIC_SDK_KEY');

await adapty.setFallback({
  ios: { fileName: 'ios_fallback.json' },
  android: { relativeAssetPath: 'android_fallback.json' },
});

setFallback ã«æ¸¡ã™ãƒ•ァイルåã¯ã€fallbackFile ã§è¨­å®šã—ãŸãƒ•ァイルã®ãƒ™ãƒ¼ã‚¹åã¨ä¸€è‡´ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

setFallback ã¯ã€SDK ãŒå¯¾è±¡ã®ãƒ•ローã€ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã€ã¾ãŸã¯ã‚ªãƒ³ãƒœãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’å–å¾—ã™ã‚‹å‰ã«å®Ÿè¡Œã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

確èª

npx expo prebuild 実行後ã€ä¸¡æ–¹ã®ãƒ—ラットフォームを確èªã—ã¦ãã ã•ã„:

  • Android: android/app/src/main/assets/ ã®å†…容を一覧表示ã—ã¾ã™ã€‚fallbackFile.android ã§è¨­å®šã—ãŸãƒ•ァイルãŒå­˜åœ¨ã—ã€iOS 専用ã®ãƒ•ァイルåãŒå«ã¾ã‚Œã¦ã„ãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
  • iOS: ios/<ProjectName>.xcodeproj/project.pbxproj ã§ iOS ã®ãƒ•ァイルåを検索ã—ã¾ã™ã€‚PBXFileReferenceã€Resources グループã€PBXResourcesBuildPhase ã«è¡¨ç¤ºã•れã¦ã„ã‚‹ã¯ãšã§ã™ã€‚Android 専用ã®ãƒ•ァイルå㌠project.pbxproj ã«å«ã¾ã‚Œã¦ã„ãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
ÿÿÿÿ