NCMBプラグインを取り込む
ではまずは取り込んでみましょう。
ダウンロードはこちらから可能です。
ダウンロードするバージョン
どのバージョンをダウンロードするかが重要です。
たくさんバージョンがありますね…
最新の環境(v4.4.0)をインストールするとAndroidが動かないことがありました。
なので私の環境で動作したバージョンをお伝えしたいと思います。
それは「v4.1.0」です!
v4.1.0に流れついた流れ
実は最初は最新「v4.4.0」を使っていました。
色々あってそのバージョンに行きつきました。
流れはこんな感じです。
といった感じです。
これは壮絶な戦いの記録です。
調べても出てこないし、これも違う、あれも違うと
暗中模索状態が辛かった…
v4.1.0をダウンロード
色々ありましたが、皆さんが同じ轍を踏む必要はないので
何も考えず「v4.1.0」をインストールしましょう。
インストールはこちらの記事を参考にしてください。
「ニフクラ mobile backend」側の設定
基本的にはこちらの流れに沿ってお伝えしていきます。
アプリの新規作成 というところでAPIキーを作成する場所まで完了させます。
プレハブ(Prefab)に設定する
手順は下記となります。
これで設定はモーマンタイ(問題なし)です!
次はアプリ起動時に呼び出してプッシュ通知登録をするスクリプトを追加する必要があります。
自分で用意するスクリプトを作成
公式にあるスクリプトを利用して
通知の設定を行うスクリプトとゲームオブジェクトを作成しておきます。
といった作業となります。
これで大まかにプロジェクトの準備は完了です!
Xcode(iOS)への対応
次はXcodeに必要な設定行う準備をします。
参考サイトはこちら。
ただ少し冗長な記事なので…簡単にお伝えします。
iOSではXcodeで色々設定が必要
iOSはBuildSettingsから切り替えて
ビルドするとXcodeのプロジェクトで出力されますよね。
このマニュアルではその度に必要なフレームワークの追加や
諸々の設定をする必要があることが書かれています。
ただそんなことって…
ビルド毎にやってられない!
ってレベルだったりします。
今回はビルド時に自動で設定してくれるスクリプトを作成しましたので
そちらをご利用ください。
Xcodeに設定するスクリプト
このスクリプト追加することによって自動でXcodeに必要な
と言ったビルドの度に設定しなければならないものが自動で設定されます。
スクリプト「PostXcodeBuild.cs」
下記のスクリプトを「Assets/Editor」フォルダに追加してください。
※フォルダがなければ作成してください
PostXcodeBuild.cs
using UnityEditor; using UnityEditor.Callbacks; #if UNITY_IOS using UnityEditor.iOS.Xcode; #endif public class PostXcodeBuild { #if UNITY_IOS [PostProcessBuild] public static void SetXcodePlist(BuildTarget buildTarget, string pathToBuiltProject) { if (buildTarget != BuildTarget.iOS){ return; } // pbx { var projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject); var pbx = new PBXProject(); pbx.ReadFromFile(projectPath); string targetGuid = GetTargetGuid(pbx); // ncmb pbx.AddFrameworkToProject(targetGuid, "WebKit.framework", false); pbx.AddFrameworkToProject(targetGuid, "UserNotifications.framework", false); pbx.AddFrameworkToProject(targetGuid, "AuthenticationServices.framework", true); pbx.WriteToFile(projectPath); } } private static string GetTargetGuid(PBXProject pbx) { #if UNITY_2019_3_OR_NEWER return pbx.GetUnityFrameworkTargetGuid(); #else return pbx.TargetGuidByName(PBXProject.GetUnityTargetName()); #endif } #endif }
これを用意できたら、プロジェクト側の設定は完了です。
サクッと終わりましたね!
次は各プラットフォームでプッシュ通知するために必要な証明書周りの対応となります。
コメント