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

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

テクニカルサポートに寄せられる質問例(Monaca編)

mBaaSではExpertユーザ向けにテクニカルサポートを提供しています。日々多くの質問が寄せられていますが、実際に使っている方でないと、どういった質問をしていいのか分かりづらいかも知れません。

そこで実際にテクニカルサポートに寄せられる質問の中で、良く寄せられるものをピックアップして紹介します。今回はMonacaの話題です。

配信済みのプッシュ通知オブジェクトを削除したい

プッシュ通知オブジェクトを取得し、delete()メソッドで削除できます。

取得は次のようになります。

ncmb.Push.equalTo("objectId", objectId)
  .fetch()
  .then(function(push){
    // pushがプッシュオブジェクト
  })
  .catch(function(err){
    // エラー
  });

そして削除は次のようになります。

push.delete()
  .then(function(){
    // 削除成功
  })
  .catch(function(e){
    // 削除失敗
  });

plugin.push.niftyを使っていますが、nbmc-push-monaca-pluginというのもあります。違いはなんでしょうか?

plugin.push.niftyは古いプラグインになります。nbmc-push-monaca-pluginを利用してください。

window.NCMB.monaca のロードに失敗します

プラグインとJavaScriptのNCMBオブジェクトが衝突している可能性があります。JS/CSSコンポーネントの追加と削除...よりncmbのインストールを行い、ncmb.min.jsをローダーに追加してください。

NCMB.monaca.getInstallationId でobjectIdが取得できない

アプリ側でデバイストークンの取得を行い、それをmBaaSに登録するまではobjectIdは取得できません。いつまでに取得できるという保証はできませんが、一定時間を空けつつ繰り返し行ってください。

配信時刻を指定したプッシュ通知の作成方法は?

次のようにして作成します。

var push = new ncmb.Push();
push.set("deliveryTime", new Date("2016-09-23T17:41:09.106Z"))
    .set("message", "Hello, World!")
    .set("target", ["ios", "android"]);
    .send()
    .then(function(result) {
      alert("成功")
    })
    .catch(function(error) {
      alert("エラー")
    })

ncmb-push-monaca-pluginをver.1からver.2へアップデートしたらAndroidがクラッシュした

指定しているプラグイン com.google.android.gms:play-services-gcm:* とプロジェクト内で使用している android-support-library-v* のバージョンが適合していないためと思われます。

例)build gradle / com.google.android.gms:play-services-gcm:8.1.0の場合

configurations.all {
  resolutionStrategy.force 'com.android.support:support-v4:23.4.0'
}

MonacaはmBaaSの中でも最もよく使われているプラットフォームになります。それだけに様々な質問がテクニカルサポートに寄せられます。他にも質問がありましたらテクニカルサポートへお寄せください。