問題タブ [instanceid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
890 参照

java - Oracle: BPEL->Java Callout->BPEL: EM で同じ呼び出しツリーに属するようにする方法は?

BPEL プロセスには、BPEL では実行できないロジックを実行するための Java コールアウトが含まれています。

その Java コールアウトは、(DII WS 呼び出しを使用して) 別の BPEL ワークフローを呼び出します。

1 つの面倒な詳細を除いて、すべて正常に動作しています。Enterprise Manager でコール スタックを確認すると、これら 2 つの BPEL プロセスはリンクされていません (つまり、1 つのツリーとして表示されません)。これにより、トラブルシューティングに多少の遅延と混乱が生じます。

通常の呼び出しステップを使用して同じ子 BPEL が呼び出されると、プロセスがリンクされます。

問題は、BPEL が親情報を子プロセスに渡す方法です。HTTP または SOAP ヘッダーであると考えられますが、すぐに調査します。ただし、誰かが以前にこの課題を抱えていて、必要なすべての手順の概要を説明してくれることを願っています. :-)

0 投票する
1 に答える
169 参照

unit-testing - UnitTest WorkflowInstanceID 例外

私は StateMachineWorkflow の単体テストを行っており、テスト プロジェクトをクリックしてテスト メソッドを作成し、Add - UnitTest を作成しています。プロジェクト ウィンドウで、テストするワークフローとその中のすべてのメソッドを選択します。

Visual Studio は、ワークフローへのアクセサを使用してテスト プロジェクトに Test Reference フォルダーを生成しました。また、テストに必要なすべての TestMethod() も生成されました。すべてのテスト メソッドは、MyWorkflow_Accessor ターゲット = new MyWorkflow_Accessor() を使用します。関数を呼び出す必要があるときは、target.SendEmail() のようなことをするだけです。

1 つのことを除いて、すべて正常に動作します。Workflow の WorkflowInstanceId を使用できません。コードがこれを使用する行に到達すると、ワークフローで例外がスローされます。「これは無効な設計時の操作です。実行できるのは、コードでWorkflowIDを注入することは可能ですか? この状況の回避策はありますか? 多くの関数で WorkflowInstanceId を使用していますが、テストに合わせてワークフロー コードを変更することはお勧めできません。なぜなら、問題はワークフローではなくテストにあると考えているからです。

0 投票する
2 に答える
1951 参照

nullpointerexception - GoogleCloudMessaging InstanceID.getInstance が null を返す

直面している問題を探し回っていますが、GoogleCloudMessaging から InstanceID を取得しようとして得たものに関連するものはまだ見つかりません。IntentService を拡張するクラスで呼び出しを設定しようとしましたが、AsyncTask を使用してバックグラウンドで呼び出すことも試みましたが、役に立ちませんでした。

適切な情報を取得するために、マニフェストとアプリケーションをセットアップする方法に関するチュートリアルに従っています。何が間違っているのか、誰にも手がかりがありますか? 私のログによると、InstanceID.getInstance(getApplicationContext()); に nullPointerException があるとのことです。

私の電話:

ログイン後にこのクラスを LandingPage クラスに配置し、次のように呼び出します。

これは、プレイ サービスが最新で更新されているかどうかを確認した直後に呼び出されます。

何か案は?より多くの情報を提供する必要がある場合は提供できますが、これは私が投稿できる情報のほんの一部です。

編集:インテントフィルターをマニフェストのサービスに追加し、getApplicationContext() が null であるかどうかを確認しようとしましたが、これは戻ってくる例外が教えてくれるものです:

これは私の catch ブロックから返されたエラー メッセージです: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference

getApplicationContext が null を返していると思いますか?

0 投票する
3 に答える
15118 参照

android - GCM トークンの有効期限と InstanceID はいつですか?

GCM は常に更新されているため、私が検索したほとんどのリソースは古くなっているか、不明確なようです。基本的に、トークンと ID の有効期限が切れる時期について混乱しています。(参考までに、私はAndroidで作業しています。)

私が理解していることから (間違っている場合は訂正してください)、私のサーバーには API キーと送信者 ID があります。Sender ID を使用して、クライアントにローカルに保存されている InstanceID を介してクライアントにトークンを要求させることができます。ここですでに少し混乱しています。アプリがオンラインになった瞬間に InstanceID が割り当てられますか? 変わることはありますか?アプリがアップグレードされたとき、またはアンインストールして再インストールされたとき (またはデバイスが復元されたとき) はどうなりますか? InstanceID.getInstance を呼び出すと、常に同じ InstanceID を取得できますか?それとも、最終的に有効期限が切れて新しいインスタンス ID が返されますか? getID() を呼び出して取得した文字列を保存する価値はありますか? ドキュメントは、getID() を呼び出すときに実際に新しい InstanceID を取得することを示しているように見えるため、事態はさらに複雑になります。(参考までに、https: //developers.google.)

InstanceID を使用して、クライアントは GCM サーバーからトークンを要求し、それをアプリ サーバーに送信できます。私のアプリサーバーはこのトークンを保存し、これを使用して GCM サーバーにメッセージを送信し、GCM サーバーはメッセージをデバイスに送信します。デバイスは、保存された InstanceID を使用してこれらのメッセージを実際に受信していると思います。GcmListenerService を拡張するクラスを使用すると、onMessageReceived でこれらのメッセージを受信できるようになりますか? (AndroidManifest で定義する以外に) 特別なことをする必要はありませんか? InstanceID を使用するように実際に指示する必要はありませんか? 魔法のように知っているだけですか?

これらの ID とトークンの有効期限はいつですか? 有効期限はありますか?トークンを文字列としてサーバーに保存していますが、これらのいずれかが期限切れになった場合、どうすればそれらが期限切れになったことを知ることができますか? 新しい InstanceID と Token はいつでも生成できます。これは簡単に思えますが、古いものはアクティブなままですか? 古いトークンをサーバーから消去するにはどうすればよいですか? iOS側のAPNSでこれを行う簡単な方法があるようです。そこでは、期限切れのすべてのトークンのリストを取得し、それらをデータベースから消去するだけです.

0 投票する
0 に答える
1170 参照

android - InstanceID と Regid GCM

私が読んだように、関数 gcm.register() は非推奨です。代わりに InstanceID.getToken() を使用できます...

ここで説明したように使用します が、アプリを実行するたびに新しい RegID (インスタンス ID) を取得します。

ここで私が登録した方法:

次に、「regid」をサーバーに送信してデータベースに保存しました。これまではすべて正常に機能していましたが、GCM(gcm.send(...);)を介してサーバーにメッセージを送信し、「from」を呼び出すとメッセージのフィールド(サーバー側)で別のregIDを取得し、アプリを再起動して送信するたびに、新しいregIDを取得します(regIdが変更されたインスタンスごとに)。

インスタンス ID を定数 RegID として使用する方法については、ドキュメントを読みましたが、その方法がわかりませんでした。

0 投票する
1 に答える
1514 参照

android - アプリケーション データをクリアしてもインスタンス ID が無効にならない

サーバーを使用してアプリケーションにプッシュ通知を送信するために実装GCM 3.0しました。Instance ID APIApplicationGCM

これは、私が参照しているGCMドキュメントのインスタンスID APIです。

ユーザーがログアウトせずに直接アプリケーションをアンGCMインストール"Not Registered"すると、アプリがアンインストールされたデバイスでエラーが発生します。

私がしなければならないことは、アプリケーションのアンインストールで試したために役に立たないものを削除することです.その後Device id tokens変更されますが、ユーザーがアプリケーションデータをクリアすると.Application serverInstance IDnew Instance IDprevious Instance ID

Android GCMドキュメントには次のように書かれています:

インスタンス ID は安定していますが、次の場合は無効になる可能性があります。

  • アプリがインスタンス ID を削除する
  • デバイスは出荷時設定にリセットされています
  • ユーザーがアプリをアンインストールする
  • ユーザーがアプリのデータを消去する

これには特別な理由がありますか?

0 投票する
0 に答える
1189 参照

android - GcmReceiver の SecurityException

プッシュ通知を受信するために GCM を使用するアプリがあります。次のトレースでいくつかのクラッシュを受け取りました。

すべてのデバイスで発生しているわけではありません。Google Play Services 7.5 を使用しています。私のマニフェストファイルのアクセス許可とその他のgcm関連のものは次のとおりです。

ここで何が起こっているのか誰か教えてください。ありがとう。

0 投票する
0 に答える
318 参照

android - 一部のリクエストに対して GCM 登録応答「User Registration Limit Exceeded」を取得する

インスタンス ID API を使用して GCM に登録する Android アプリがあります。

残念ながら、Google Play デベロッパー コンソールの GCM 統計によると、一部の登録試行に対して応答コード"HTTP 200 - User Registration Limit Exceeded"が返されるようです。

GCM 応答コード グラフによる GCM 登録 GCM 登録応答コードの円グラフ

わずか 0.01% ですが、なぜ、いつ、このようなことが起こるのか、そしてそれに対して何ができるのかを知りたいと考えています。

「ユーザー登録制限」に関する情報は見つかりませんでした。通知の送信に制限がある、または制限があったようですが、登録はどうですか?

インスタンス ID API を使用した GCM 登録に割り当てはありますか?

登録は公式ドキュメントに従って実装されているので、基本的には [ instanceID.getToken]( https://developers.google.com/android/reference/com/google/android/gms/iid/InstanceID.html#getToken(java.各アプリのlang.String、 java.lang.String、android.os.Bundle)) は次のように開始します。