NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
82 stars 18 forks source link

デバイストークンとデータストアの活用に関して #317

Open BrownieBrowney opened 8 years ago

BrownieBrowney commented 8 years ago

現在、顧客管理ができるアプリケーションを作成中です。

・Monaca ・mobilebackend を利用して、Android/iOS用に開発しています。

スマホアプリの設定画面から、ニックネームなどを入力してもらうような仕様を考えています。 その場合、プッシュ通知を送る際に【installationクラス】からしか絞り込みが出来ないのであれば installationクラスのレコードに、ニックネームなどのフィールドを追加し、挿入しておく必要があるかと思います。

しかし、登録されたデバイスのレコードを更新するためには デバイストークンを取得して、更新の条件にデバイストークンをセットする必要があるかと 考えています。

そこで以下のようなコードを試したところ function getInstallationId() { // 登録されたinstallationのobjectIdを取得します。 window.NCMB.monaca.getInstallationId( function(id) { alert("installationID is: " + id); } ); }

”getInstallationId of undefined” と表示されました。 こうなってしまう原因がわかりません。

①【installationクラス】からしか絞り込みが出来ないのでしょうか。 ②installationクラスのレコードに、ニックネームなどのフィールドを追加する方法でしか プッシュ通知の際に、ニックネームから絞り込みすることはできないのでしょうか。 ③”getInstallationId of undefined”を解消するにはどうすればいよいでしょうか。 ④考え方が間違っている部分などあれば教えてください。

よろしくお願い致します。

[追加] ⑤会員管理で、ユーザー情報を管理する場合、プッシュ通知で個人を特定するのは不可能でしょうか?

goofmint commented 8 years ago
  1. についてはそうですね。
  2. についてもそうです。
  3. についてはプラグインが入っていない可能性があります。プッシュ通知のプラグインは入っているでしょうか?
  4. についてはInstrationクラスに会員管理のobjectIdをつけて保存する形にすればできるかなと。デフォルトのままではできません。
BrownieBrowney commented 8 years ago

回答有難うございます。

NiftyMB(plugin.push.nifty)のプラグインは入っており、プッシュ通知の受信も可能です。

こちらのエラーの原因と対策が知りたいです。 Uncaught TypeError : Cannot call method 'getInstallationid' of undefined

上記で回答頂きました ”4についてはInstrationクラスに会員管理のobjectIdをつけて保存する形にすればできるかなと。デフォルトのままではできません。” に関して、デフォルトのままではできないというのは 特殊なプラグインやサービスが必要という意味ではなく Instrationクラスに会員管理のobjectIdをつけて保存する処理を追加する必要がある という意味でよかったでしょうか?

goofmint commented 8 years ago

Uncaught TypeError : Cannot call method 'getInstallationid' of undefined

は #312 に関連したものかも知れません。ncmb.min.js を読み込まない時はエラーが出ないとしたらそうですね。

もう一件の方はそうですね、Installationクラスに項目を追加してあげれば、個別ユーザを指定したプッシュ通知はできるかと思います。