FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

NCMB Unity SDKからプッシュ通知機能を取り除く

f:id:mbaasdevrel:20200609155631p:plain

Unity SDKを使ってiOS向けにビルドを行うとプッシュ通知機能が含まれた状態でコードが生成されます。プッシュ通知を使われる方であれば問題ありませんが、不要という方や、開発者登録していないので実機検証できないという方もいるでしょう。

f:id:mbaasdevrel:20200609160249p:plain

そこで今回はUnity SDKからプッシュ通知機能に関するコードを取り除く方法を紹介します。

ファイルを削除する

まずプッシュ通知に関するファイルを削除します。対象は以下の2つです。

  • NCMB/Script/NCMBPush.cs
  • NCMB/Script/Task/NCMBPushTaskExtension.cs

コードを変更する

コードの変更点は意外と多いです。細かくは説明しませんが、下記部分をコメントアウトします。

NCMB/NCMBManager.cs

void Update ()
{
        /*
        if (UnityEngine.iOS.NotificationServices.remoteNotificationCount > 0) {
                ProcessNotification ();
                NCMBPush push = new NCMBPush ();
                push.ClearAll ();
        }
        */
}
/*
void ProcessNotification ()
{
  : 省略
}
*/

NCMB/NCMBSettings.cs

usePushのif文をまるごとコメントアウトします。

// Register
/*
if (usePush) {
  :
}
*/

NCMB/Script/NCMBAnalytics.cs

UnityEngine.iOS.NotificationServices の処理部分は不要です。

/*
#if UNITY_IOS
        UnityEngine.iOS.NotificationServices.ClearRemoteNotifications ();
#endif
*/

NCMB/Script/NCMBQuery.cs

プッシュ通知に関係するif文の判定が不要です。

/*
} else if (resultClassName.Equals ("push")) {
        obj = new NCMBPush ();
*/

NCMBPushに関わる部分は不要です。

/*
} else if (pair.Value is NCMBQuery<NCMBPush>) {
        NCMBQuery<NCMBPush> query = (NCMBQuery<NCMBPush>)pair.Value;
        Dictionary<string , object> realData = query._getFindParams ();
        realData ["where"] = realData ["where"];
        jsonAfter [pair.Key] = realData;
*/

こちらもif文が不要です。

/*
} else if (className.Equals ("push")) {
        // プッシュ検索API
        url = new NCMBPush ()._getBaseUrl ();
*/

この状態でビルドを行うと、Xcodeで見た時にCapabilitiesにプッシュ通知が入らなくなります。これでプッシュ通知以外の機能だけを使ったアプリ開発を行えるはずです。

f:id:mbaasdevrel:20200609160215p:plain

まとめ

今回の方法ではUnity SDKをバージョンアップした際にはもう一度行わなければならなかったり、別な不具合を起こす可能性があります。あくまでも自己責任での適用をお願いします。

Unity SDKを使っていて何か問題、質問があればコミュニティまでお寄せください。

NIFCLOUD-mbaas/UserCommunity: ニフクラ mobile backend ユーザーコミュニティ

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。