2017-02-14 2 views
0

解析サーバーを使用して特定のユーザーにプッシュ通知を送信しようとしています。ただし、インストールクラスには、このインストールを持つユーザーを指すユーザー列はありません。したがって、インストールのクエリは何も返しません。私の質問は、インストールクラスが自動的にユーザーの列を作成するかどうか、または何とかそれらを関連付ける必要がありますか?もしそうなら、どんな助けもありがとう。解析サーバー - インストールクラスにユーザー列がありません。

P.S.クラウドコードを使用してプッシュ通知を送信しています。だから私はJavaScriptを使用しています。

+2

手動でインストールクラスとUserクラス(ポインタ)をリンクする必要が...あなたがインストールクラスにユーザーIDを保存し、クライアントに新しいインストールを作成する際に理想的な方法があるが、 –

答えて

1

インストールクラスは自動的にユーザー列を設定しません。手動で行う必要があります。

ユーザーを作成して保存することをお勧めします。成功コールバックには、保存されたユーザーオブジェクトがパラメーターとして設定され、インストールドキュメントにユーザーを設定できます。

ここでは簡単の抜粋です:

var currentInstallation; 
installationModule.getInstallationById(installationId) 
    .then(function (installation) { 
    if (installation) { 
     currentInstallation = installation; 
     var user = createParseUser(newUser); 
     return user.save(); 
    } 
    else { 
     // return error 
    } 
    }) 
    .then(function (user) { 
    currentInstallation.set('user', user); 
    return currentInstallation.save() 
    }, function (error) { 
    // TODO: handle error 
    }); 
+0

ありがとう、それはParse.UserのafterSaveクラウド関数を行うことは可能ですか?異なるユーザーが同じデバイスからサインインする可能性があるため、Parse.SessionのafterSaveを実行する方がよいでしょう。あなたの考えは高く評価されます。 –

+0

嬉しい私の答えは役に立ちました。トリガについては、Parse.Sessionには他のクラスとは異なり、Cloud Codeトリガがありません。つまり、Parse.SessionでafterSaveを使用することはできません。 Parse.UserでafterSaveを使用する場合、理論的には良いアイデアですが、私の唯一の懸念は、ユーザーをそのトリガーに関連付けるために、トリガーにInstallationオブジェクトを持たないことです。 – Wissam

+0

私はParse.Sessionトリガーを試した後、動作しませんでした。私はクライアント側でそれをやることに決めました、私はそれが最も簡単な方法だと思います。 –

関連する問題