質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

0回答

701閲覧

ニフティクラウドモバイルバックエンドのinstallationsクラスの更新をMonacaのJavaScriptから実行したい。

RFranmaru

総合スコア0

ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2021/03/08 15:03

前提・実現したいこと

MonacaとNCMBを用いてプッシュ通知のグルーピング配信を実現したいのですが、
その際にアプリからNCMBのinstallationsクラスのchennelsの更新をしたいです。

デバイストークンの登録まではできますが、channelsの更新ができません
以下コードです。
原因や実現方法などご教示お願い致します。

※初投稿となっております。何か不足している情報などあればご指摘いただけると幸いです。

該当のソースコード

// [NCMB] API Key var applicationKey = "アプリケーションキー"; var clientKey = "クライアントキー"; var strObjID = localStorage.getItem('objID'); // SDKの初期化 var ncmb = new NCMB(applicationKey, clientKey); var id =""; // installationのすべてのkey var keys = new Object(); // installationのobjectId //var installation_objectId = ""; // installationのすべてのkey var keys = new Object(); function loginID() { var userID = document.getElementById("userID").value; var orgID = document.getElementById("orgID").value; alert("uid:"+userID + "/oID:" + orgID+"でログインします"); /*サーバーへ接続して戻り値がtrueならログイン成功*/ var srvRtn =isLogin(userID,orgID); if(srvRtn){ alert("ログイン成功"); /*ホーム画面へ*/ localStorage.setItem('userID', userID); localStorage.setItem('orgID', orgID); alert("入力済ID登録完了"); window.NCMB.monaca.setDeviceToken(applicationKey,clientKey); alert("デバイストークン登録完了"); getInstallationId(); alert("installation情報取得完了"); alert("test"); var strUID = localStorage.getItem('userID'); alert("ストレージに登録したUID:"+strUID); var strOID = localStorage.getItem('orgID'); alert("ストレージに登録したOID:"+strOID); window.location.href = 'home.html'; } else{ alert("ログイン失敗"); /*ホーム画面へ*/ } //ここから下の処理に行かない } function isLogin(uid,oid) { alert(uid +"/"+oid+"をサーバーへ渡します(戻り値:True)"); return true; } function getInstallationId() { window.NCMB.monaca.getInstallationId(function(id) { // ここに処理を記述 alert("objID:" + id); localStorage.setItem('objID',id); }); } function changeChOff() { alert("objId:"+strObjID+"を配信対象外にします。"); window.NCMB.monaca.getInstallationId(function(id) { ncmb.Installation.fetchById(id) .then(function(installation){ installation.set("channels", "off"); return installation.update(); }) .catch(function(err) { // エラー処理 }) }); } function changeChOn() { alert("objId:"+strObjID+"を配信対象にします。"); window.NCMB.monaca.getInstallationId(function(id) { ncmb.Installation.fetchById(id) .then(function(installation){ installation.set("channels", "on"); return installation.update(); }) .catch(function(err) { // エラー処理 }) }); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問