遅いよりはましですが、これは誰かを助けるかもしれません。
これがアプリケーション エンドポイントで可能かどうかはわかりませんが、ユーザー エンドポイントの写真設定を確実に公開できます (私はこれを実行し、機能しています)。プレゼンスの公開に関する基本的な情報は、MSDN のPublishing Presenceにあります。
プレゼンス情報 (写真設定を含む) の公開は、 で行われますLocalEndpoint.LocalOwnerPresence
。との両方UserEndpoint
が からApplicationEndpoint
派生しLocalEndpoint
ているため、これは実際に実行できるはずです。
公開する「レベル」のさまざまな組み合わせが多数あるため、実際の公開は少し複雑になります。
InstanceID
まず、知っておく必要のある値がたくさんあります。ここでそれらを読んでください:プレゼンス データ ソースとカテゴリ インスタンス ID
第 2 に、この存在が誰に適用されるかという値があります。 を参照してくださいMicrosoft.Rtc.Collaboration.Presence.PresenceRelationshipLevel
。で公開しないUnknown
でください。例外が発生します。
public enum PresenceRelationshipLevel
{
Unknown = -1,
Everyone = 0,
External = 100,
Colleagues = 200,
Workgroup = 300,
Personal = 400,
Blocked = 32000,
}
PresenceCategoryWithMetaData
コンテナの一部であるユーザーの写真プロパティの0x5
「プレゼンティティ情報」を公開する必要があります。
var photoPresence = new PresenceCategoryWithMetaData(
0x5, // The container id
(int)PresenceRelationshipLevel.Everyone,
new ContactCard(0x5) // Same container ID again
{
IsAllowedToShowPhoto = true,
PhotoUri = "<uri to your photo here"
});
ExpiryPolicy
このオブジェクトにを設定することもできます。次に、エンドポイントでこのプレゼンス オブジェクトを公開します。
Endpoint.LocalOwnerPresence.BeginPublishPresence(new[] { photoPresence }, cb => {
Endpoint.LocalOwnerPresence.EndPublishPresence(cb);
}, null);
そして、それは本当にそれを行う必要があります。論理的に期待されるようにデータをカスケードしなかったため、すべての関係レベルに明示的に公開することになりました。これは、私自身の将来の参考のためにも、非常に長い返信になりました。これがアプリのエンドポイントでも機能するかどうか教えてください。