情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

ProximityDevice.PublishMessage(String, String, MessageTransmittedHandler) | publishMessage(String, String, MessageTransmittedHandler) Method

指定したメッセージ型のサブスクライバーにメッセージを発行します。メッセージが送信されたとき、指定したハンドラーが呼び出されます。

構文


var number = proximityDevice.publishMessage(messageType, message, messageTransmittedHandler);

パラメーター

messageType

型: String [JavaScript] | System.String [.NET] | Platform::String [C++]

サブスクライバーに配信するメッセージの型。

message

型: String [JavaScript] | System.String [.NET] | Platform::String [C++]

サブスクライバーに配信するメッセージ。

messageTransmittedHandler

型: MessageTransmittedHandler

メッセージが送信されたとき呼び出されるハンドラー。

戻り値

型: Number [JavaScript] | System.Int64 [.NET] | int64 [C++]

パブリッシュ済みメッセージの一意のパブリケーション ID。

解説

SubscribeForMessage メソッドを使用すると、公開されたメッセージをサブスクライブできます。

メッセージの発行は、StopPublishingMessage メソッドが呼び出されるか、ProximityDevice オブジェクトが解放されるまで継続します。

メッセージは、(messageType パラメーターで指定された) メッセージ型にサブスクライブしているすべてのアプリケーションに配信されます。メッセージ型の値は、プロトコルとサブタイプの 2 つの部分から構成される大文字と小文字が区別された文字列です。先頭がプロトコル、次に点 (.)、その次にサブタイプが続きます。PublishMessage メソッドの場合、プロトコルは常に "Windows." にする必要があります。サブタイプは、英数字と追加の文字 (. ( ) + , - : = @ ; $ _ ! * ’) から成る文字列です。サブタイプは 250 文字の長さを超えることはできません。

「WindowsMime」などの別のメッセージ型を使用してメッセージを発行する。または “NDEF:WriteTag”、PublishBinaryMessage メソッドを使用する必要があります。

PublishUriMessage メソッドを使用すると、近接するコンピューターに URI (Uniform Resource Identifier) を発行できます。

メッセージは UTF-8 文字に変換されてから送信されます。

Windows ストア アプリの場合、呼び出し元アプリケーションがフォアグラウンドで実行されている場合にのみ、パブリケーションとサブスクリプションがアクティブになります。

重要  

近接 API は、認証、暗号化、またはメッセージの整合性を提供しません。ユーザーの機密情報 (パスワード、財務データ、テキスト メッセージ、電子メール、写真、政府の ID 番号など) をやり取りする場合は、近接通信を使用しないでください。


function id(elementId) {
    return document.getElementById(elementId);
}

var proximityDevice;
var publishedMessageId = -1;
var subscribedMessageId = -1;

function initializeProximityDevice() {
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.getDefault();

    if (proximityDevice) {
        id("publishMessageButton").addEventListener("click", publishMessage);
        id("subscribeForMessageButton").addEventListener("click", subscribeForMessage);
id("stopSubscribingForMessageButton").addEventListener("click", 
    stopSubScribingForMessage);
id("stopPublishingMessageButton").addEventListener("click", 
    stopPublishingMessage);
    }
    else {
        id("messageDiv").innerHTML += "Failed to initialized proximity device.<br />";
    }
}

function publishMessage() {
    // Stop publishing the current message.
    if (publishedMessageId != -1) {
        proximityDevice.stopPublishingMessage(publishedMessageId);
    }

    publishedMessageId = 
proximityDevice.publishMessage("Windows.SampleMessage", id("messageText").value,
                                       messagePublished);
}

    function messagePublished(sender, messageId) {
// The message has been successfully published.
}

function subscribeForMessage() {
    // Only subscribe for the message one time.
    if (subscribedMessageId === -1) {
        subscribedMessageId = 
    proximityDevice.subscribeForMessage("Windows.SampleMessage", messageReceived);
    }
}

function messageReceived(device, message) {
    id("messageDiv").innerHTML += "Message received: " + message.dataAsString + "<br />";
}

    function stopSubscribingForMessage() {
proximityDevice.stopSubscribingForMessage(subscribedMessageId);
    subscribedMessageId = -1;
    }

    function stopPublishingMessage() {
proximityDevice.stopPublishingMessage(publishedMessageId);
    publishedMessageId = -1;
    }


要件

最小限サポートされるクライアント

Windows 8

最小限サポートされるサーバー

Windows Server 2012

最小限サポートされる携帯電話

Windows Phone 8

名前空間

Windows.Networking.Proximity
Windows::Networking::Proximity [C++]

メタデータ

Windows.winmd

Capabilities

proximity
ID_CAP_PROXIMITY [Windows Phone]

参照

ProximityDevice
PublishMessage(String, String)
PublishBinaryMessage
PublishUriMessage
StopPublishingMessage
近接通信とタップ (JavaScript)
近接通信とタップ (C#/VB/C++)
サンプル
近接通信のサンプル

 

 

表示: