Skip to main content
Unity iOS SDK は、以下で説明する MoEngage-Info.plist 設定ファイルを使用したファイルベースの初期化のみをサポートしています。

MoEngage の設定を含める

MoEngage パッケージをインポートした後、Assets フォルダーに MoEngage-Info.plist ファイルを追加します(Asset > Import New Asset)。
Unity SDK Core 6.0.0 バージョン以降、MoEngageConfiguration.h のサポートは削除されました。SDK の設定には MoEngage-Info.plist に移行する必要があります。
MoEngage-Info.plist で、ワークスペース ID、リージョン、その他の設定値を指定します。
XML
SDK にナビゲーションを処理させるのではなく、アプリでディープリンクのルーティングを手動で処理する場合は、SHOULD_PROVIDE_DEEPLINK_CALLBACK を true に設定します。

Unity App Controller Swizzling

SDK を初期化するには、次の 2 つの方法があります。
  1. Unity App Controller のサブクラス:
    SDK には、UnityAppController のサブクラスである MoEUnityAppController クラスが含まれています。ここでは、アプリの起動時にコールバックを受け取り、MoEngage SDK を初期化します。
  2. UnityAppController swizzling:
    UnityAppController swizzling を有効にするには、MoEngage-Info.plist で UNITY_CONTROLLER_SWIZZLING_ENABLED を true に設定します。ここでは、MoEngage SDK を初期化するために application:didfinishLaunchinWithOptions: メソッドが swizzle されます。
プロジェクトに UnityAppController サブクラス(1 つ目の方法)の実装が複数ある場合は、UnityAppController swizzling(2 つ目の方法)が必要になります。この場合、プロジェクト内のサブクラスのうち 1 つだけがコールバックを受け取るため、プラグインで定義されたサブクラスが確実に動作しない可能性があります。

ビルドと置換

必要なパッケージをインポートしたら、File > Build Settings に移動し、iOS プラットフォームに切り替えて Build をクリックします。ポップアップで Replace を選択します。初回の統合時には Replace を選択する必要があります。これは、MoEngage SDK 用に Xcode プロジェクトのビルド設定を更新し、ネイティブの依存関係もインストールするためです。
iOS SDK の初期化 2

CocoaPods

先に進む前に、システムに CocoaPods がインストールされていることを確認してください。
SDK は、ネイティブの iOS 依存関係を管理するためにデフォルトで CocoaPods を使用します。Unity からビルドした後、Xcode で Unity-iPhone.xcworkspace を開いてアプリを実行します。

Swift Package Manager

CocoaPods の代わりに、Swift Package Manager(SPM)を使用して MoEngage iOS の依存関係を管理することもできます。
  1. Xcode で File → Add Package Dependencies に移動します。
  2. MoEngage iOS SDK のリポジトリ URL を入力し、必要なバージョンを選択します。
  3. MoEngageSDK パッケージを Unity-iPhone ターゲットに追加します。
  4. 生成された Podfile を削除し、.xcworkspace を閉じます。SPM を使用する場合は、Unity-iPhone.xcodeproj を直接開きます。