Project Rome を利用したクロスデバイス アプリのビルドBuild cross-device apps powered by Project Rome

Project Rome を使用することにより、デバイスやプラットフォームをシームレスに超えて利用できるエクスペリエンスを構築できます。これにより、ユーザーのストレスが少なくなり、アプリの利用が推進されます。You can use Project Rome to build experiences that cross devices and platforms seamlessly, reducing friction for users and helping to drive app engagement. アプリケーションが Project Rome API を利用して複数のデバイスやプラットフォーム間でデータを共有するには、プラットフォーム固有のアプリに関する情報を含むクロスデバイス アプリを構成する必要があります。For applications to share data across devices and platforms using Project Rome APIs, you need to configure a cross-device app that includes information about your platform-specific apps.

クロスデバイス アプリでは、次のことが可能です:A cross-device app enables you to:

  • Microsoft Graph で Project Rome のアクティビティ フィード API を利用する。Use the Project Rome activity feed API in Microsoft Graph.
  • Project Rome SDK for Windows、Android、iOS を使用することにより、複数のプラットフォーム固有アプリケーションからなるグループによって公開されるユーザー アクティビティを読み書きする。Read and write user activities published by a group of platform-specific applications by using the Project Rome SDK for Windows, Android, and/or iOS.
  • Project Rome SDK for Android または iOS を使用することによって、Project Rome のデバイス リレー機能でアプリのターゲットを切り替える。Target apps via the device relay capabilities in Project Rome by using the Project Rome SDK for Android or iOS.

アクティビティ フィード API により、デバイス間を移動した際に直前の作業位置から再開するPick up where you left off across devices with the activity feed API

Windows、iOS、Android、Web 用のアプリを関連付けるようクロスデバイス アプリを構成することにより、各プラットフォームのアプリで、グループ内の任意のアプリにより公開されたユーザー アクティビティを読み書きできます。You can configure a cross-device app to associate your apps for Windows, iOS, Android, and the web so that the app on each platform can read and write user activities that are published by any app in the group.

たとえば、あるユーザーが仕事場にある自分の PC でプレス リリースを仕上げた後、友達と夕食を食べに行ったとします。For example, a user is finishing up a press release on her PC at work before dinner with friends. レストランで上司から彼女に連絡があり、大至急誤字を修正するように命じられます。At the restaurant, she gets a notification from her boss about a typo that needs to be fixed asap. 彼女は、自分の Android スマートフォンでアプリを開き、先ほど編集していたプレス リリースを示すカードを表示します。She opens the app on her Android phone and sees a card showing the press release she was editing earlier. 彼女は、そのカードをタップしてそれを開き、必要な修正をプレス リリースに加えた後、友達との会話に戻ります。She taps the card to open it so she can fix the release immediately and get back to her friends.

このクロスデバイス アプリ構成を整備することにより、ユーザーのアクティビティ フィードが複数のデバイスやプラットフォームの間でとても簡単に同期されるため、ユーザーがアプリのどの面からでも、重要な作業を直前に終わったところから再開できるようなエクスペリエンスを構築できます。With this cross-device app configuration in place, the user's activity feed is synchronized across devices and platforms effortlessly so you can build experiences that help users pick up important tasks where they left off from any app surface.

デバイス リレー API により適切なタイミングで適切な画面を選ぶChoose the right screen at the right time with the device relay API

アプリが利用可能なそれぞれのプラットフォームでプッシュ通知認証情報が有効になるようクロスデバイス アプリを構成することにより、プラットフォームに関係なく、アプリを使用する任意のデバイスにコマンドまたは通知が配信されるようにすることができます。You can configure a cross-device app with push notification credentials for each of the platforms your app is available on so that a command or notification can be delivered to you on any device where you use the app, regardless of platform.

たとえば、あるユーザーが仕事帰りのバスの中でビデオを見ているとします。For example, a user is watching a video on the bus ride home from work. 彼女が自宅に着いて、アプリをタップして Xbox One でそのビデオを起動すると、先ほどの続きを大画面で見ることができます。When she arrives home, she taps the app to launch the video on her Xbox One so she can continue watching on the big screen.

アプリが利用可能な各プラットフォームでプッシュ通知認証情報をクロスデバイス アプリに関連付けると、ユーザーのアプリがデバイス間でコマンドを送信できるようになります。これにより、リアルタイムに複数の画面の間を移動したり、別のデバイスにワークフローを移行したりするようなエクスペリエンスを構築できます。When you associate push notification credentials for each of the platforms where your app is available with your cross-device app, the user's app can send commands across devices, so you can build experiences that cross multiple screens or transition a workflow from one device to another in real time.

クロスデバイス アプリ構成のための適切なホスティング方式を選択するSelect the right hosting method for your cross-device app configuration

クロスデバイス アプリ構成は、ドメイン上の JSON ファイルとして、または Windows デベロッパー センターにより構成可能なプロファイルとしてホスティングできます。You can host your cross-device app configuration either as a JSON file on your domain or as a profile configurable via the Windows Dev Center. ホスティング オプションは、アプリで有効にする Project Rome 機能に基づいて選択します。Choose a hosting option based on the Project Rome capabilities you want to enable in your apps.

Project Rome のすべて機能は、Windows デベロッパー センターで管理されるクロスデバイス アプリを使用してアクセスできます。You can access all Project Rome capabilities using a cross-device app managed in the Windows Dev Center. また、Windows デベロッパー センターにより、クロスデバイス アプリ構成のあらゆる変更を管理するための最善の手段が提供されます。The Windows Dev Center also offers the best way to manage any cross-device app configuration changes. 変更内容を運用環境に公開する準備ができるまで、既存のプロファイルの更新内容を安全に保存できます。You can save updates to an existing profile more securely until you're ready to publish changes to production. デベロッパー センターで既存のクロスデバイス アプリの変更内容を公開すると、新しいプロファイルは、約 1 時間後に有効になります。When you publish changes to an existing cross-device app in the Dev Center, the new profile will be effective after approximately one hour.

外部ホスティングの JSON ファイル (制限あり)Externally hosted JSON file (limited)

外部ホスティングされる JSON ファイルとして管理されるクロスデバイス アプリを使用することにより、サポートされるすべてのプラットフォーム上で、次の Project Rome 機能を使用することができます:You can use the following Project Rome capabilities on all supported platforms using a cross-device app managed as an externally hosted JSON file:

  • アクティビティ フィード API を使用してすべてのプラットフォームからユーザー アクティビティを読み書きするRead and write user activities from all platforms using the activity feed API
  • Project Rome SDK を使用してすべてのプラットフォーム (Windows、iOS、Android、web) からユーザー アクティビティを書き込む。Write user activities from all platforms (Windows, iOS, Android, web) using the Project Rome SDKs.

それらの機能にのみアクセスする場合、クロスデバイス アプリ構成は、ドメイン上で JSON ファイルとして外部的にホスティングできます。If you only access these capabilities, you can host your cross-device app configuration externally on your domain as a JSON file.

Windows デベロッパー センターを使用してクロスデバイス アプリを構成するConfigure a cross-device app using the Windows Dev Center

クロスデバイス アプリ ID は、自分の所有するドメインとして表されます。A cross-device app ID is represented as a domain that you own. そのドメインは、自分のドメイン上でホスティングされる JSON ファイルとして、または Windows デベロッパー センターにより構成可能なものとして保存されているプラットフォーム固有のアプリ ID のマッピングを指します。The domain points to a mapping of your platform-specific app IDs stored either as a JSON file hosted on your domain or configurable via the Windows Dev Center. クロスデバイス アプリ ID を表すために使用するドメインを特定したら、次に、関連するプロファイルを構成するための情報を収集する必要があります。After you identify the domain you'll use to represent your cross-device app ID, you'll need to collect information to configure the associated profile.

手順 1: クロスデバイス アプリ ID のためのセキュリティ保護されたドメインを選択し、ドメイン検証を有効にするStep 1: Select a secure domain for your cross-device app ID and enable domain verification

クロスデバイス アプリ ID として使用されるドメインは、トップレベルのドメインかサブドメインで、TLS で保護されていなければなりません。The domain used as your cross-device app ID must either be a top-level domain or a subdomain and must be protected via TLS. 例: https://contoso.com または https://myapp.contoso.com。しかし、https://myapp.contoso.com/somepath は無効です。For example: https://contoso.com or https://myapp.contoso.com, but NOT https://myapp.contoso.com/somepath. ドメイン (またはサブドメイン) はクロスデバイス アプリごとに固有でなければなりません。You must have a unique domain (or subdomain) per cross-device app. しかし、単一のクロスデバイス アプリにどのアプリを関連付けるかは、サポートする予定のクロスプラットフォームの動作に基づいて自分で決定します。However, you decide which apps to associate with a single cross-device app based on the cross-platform behavior you want to support.

たとえば、一連のゲーム アプリを手がけるアプリ開発者は、アプリごとに別個のサブドメインを使い分けることにより、複数のデバイスやプラットフォームでデータを読んで再開可能なユーザー アクティビティにのみ確実に各アプリがサブスクライブされるようにするかもしれません。For example, an app developer with a suite of game apps might use a separate subdomain for each of these to ensure that each app is only subscribed to the user activities it can resume when reading data across devices and platforms. 一方、連携動作するよう設計された一連の生産性アプリ スイートを手がけるアプリ開発者は、そのすべてに共通の単一のドメインを使用することにより、デバイスが変わってもアプリでスイートのメンバーを立ち上げることができるようにするかもしれません。On the other hand, an app developer with a suite of productivity apps designed to work together might use a single domain for all of these so that any app is able to launch a member of the suite across devices.

Windows デベロッパー センターによるドメインの所有権のアサートAssert domain ownership with the Windows Dev Center

Windows デベロッパー センターを使用してクロスデバイス アプリの構成を管理すると、クロスデバイス アプリ ID を表すドメインはクロスデバイス アプリ プロファイルの一部として保存されるため、Microsoft はドメイン所有者を確認することができます。When using the Windows Dev Center to manage your cross-device app configuration, the domain representing your cross-device app ID is stored as part of your cross-device app profile so Microsoft can verify that you are the domain owner. クロスデバイス アプリ構成を公開するには、ドメインの所有者であることが検証されなければなりません。そのため、最初にこれに取り組むのは良いことです。Your domain ownership must be verified in order to finish publishing your cross-device app configuration, so it's a good idea to tackle this first.ドメインがまだ検証されていない場合、クロスデバイス アプリの詳細を保存し、この手順の完了後に再度検証を実行することにより、クロスデバイス アプリを公開できるようになります。 If your domain is not yet verified, you can save your cross-device app details and rerun the verification after you complete this step so you can publish your cross-device app.

クロスデバイス アプリのドメイン所有権を主張するには、デベロッパー センターで提供される固有の値を使って、そのドメインに対応する DNS TXT エントリを追加する必要があります。To assert your domain ownership for your cross-device app, you'll need to add a DNS TXT entry for your domain with a unique value provided to you in the Dev Center. この値は、クロスデバイス アプリごとに固有です。This value is unique per cross-device app. アプリのための固有の値を調べるには、Windows デベロッパー センターにサインインし、左側のメニューから [クロスデバイス エクスペリエンス] を選択して、新しいクロスデバイス アプリの構成を開始します。To find the unique value for your app, sign in to the Windows Dev Center and choose Cross-device experiences from the left menu to start configuring a new cross-device app. 新しいクロスデバイス アプリに名前を付けた後、サブメニューから [クロスデバイス アプリのドメインを検証する] を選択します。After you give your new cross-device app a name, select Verify your cross-device app domain from the submenu. このページには、固有の値が インラインで表示された手順が示されます (例: MS=95ff4557-813f-45a5-b2f6-1f94170b979f)。This page will display instructions with a unique value inline (for example, MS=95ff4557-813f-45a5-b2f6-1f94170b979f). 'MS=' の部分も含めた値全体をコピーしてください。Make sure to copy the entire value including 'MS='.

手順 2: プラットフォーム固有のアプリケーション ID を収集するStep 2: Collect your platform-specific application IDs

Project Rome API を使用する、各アプリケーションおよびプラットフォームのプラットフォーム固有アプリケーション ID を収集します。Collect the platform-specific application IDs for each application and platform that will use Project Rome APIs.

クロスデバイス アプリ ID に関連付けるため、それぞれのプラットフォーム固有のアプリケーション ID を収集する必要があります。You'll need to collect each of the platform-specific application IDs in order to associate them with your cross-device app identity. Windows デベロッパー センターを使用すると、デベロッパー アカウントに関連するユニバーサル Windows プラットフォーム アプリの中から選択することができます。しかし、win32、iOS、Android のアプリについては、アプリケーション ID を手動で指定し、関連する Web アプリの主要 URL を特定する必要があります。Using the Windows Dev Center, you'll be able to select from Universal Windows Platform apps associated with your developer account, but you'll need to manually provide application IDs for any of your win32, iOS, or Android apps and identify the primary URL for any associated web apps. プラットフォームごとに最大 10 個の ID を関連付けることができます。You can associate up to 10 IDs per platform.

ID を検索するには:To find the IDs:

手順 3: Microsoft アカウントまたは Azure AD のサポートを構成するStep 3: Configure support for Microsoft account or Azure AD

クロスデバイス エクスペリエンスを有効にするには、アプリ ユーザーが  Microsoft アカウント または  Azure Active Directory  (Azure AD) アカウントのいずれかでサインインする必要があります。To enable cross-device experiences, your app users must sign in with either a Microsoft account or an Azure Active Directory (Azure AD) account. クロスデバイス アプリ構成の一部として認証をサポートするためのアプリ ID/クライアント ID を提供することにより、クロスプラットフォーム サポートが有効になります。You will provide the app ID/client IDs to support authentication as part of your cross-device app configuration to enable cross-platform support. 最大 10 個のインスタンスを提供できます。You can provide up to 10 instances.

既存のアプリ ID/クライアント ID を検索するか、またはデベロッパー カウントでアプリケーション登録ポータルにサインインすることにより新しい ID をプロビジョニングします。You can find your existing app ID/client IDs or provision new ones by signing in to the Application registration portal with your developer account. そのポータルにサインインすると、自分の任意のアプリのアプリ ID/クライアント ID を確認できます。When you sign in to the portal, you can view the App ID/client ID for any of your apps. Live SDK (16 進値) と統合アプリ ID (GUID) の両方がサポートされています。Both Live SDK (hex values) and converged app IDs (GUIDs) are supported.

Azure AD のユーザーをサポートするアプリケーションをビルドする場合、アプリケーション登録ポータルにより発行される統合アプリケーション ID を使用していないなら、Azure アプリのアプリケーション ID のための GUID を提供することが必要になります。If you're building an application that will support Azure AD users, and you do not use a converged application ID issued through the Application registration portal, you will need to provide the GUID for the application ID of your Azure app. テナントの GUID を調べるには:To find the GUID for your tenant:

  1. Azure portalにサインインします。Sign in to the Azure portal.
  2. Azure Active Directory を選択します。Select Azure Active Directory.
  3. [管理] の下で [アプリの登録] を選択します。Under Manage, select App registrations.
  4. リストからアプリを選択すると、[基本] の下にアプリケーション ID (GUID) が表示されます。Select your app from the list and view your Application ID (GUID) listed under Essentials.

手順 4: クロスプラットフォーム プッシュ通知のサポートを構成する (オプション)Step 4: Configure support for cross-platform push notifications (optional)

クロスデバイス アプリを Windows デベロッパー センターで構成することにした場合は、Android および iOS プッシュ メッセージング プラットフォーム用の API で使用する認証情報を提供することにより、クロスプラットフォーム プッシュ通知のサポートを有効にすることができます。If you've opted to configure your cross-device app in the Windows Dev Center, you can enable support for cross-platform push notifications by providing the credentials you use with the APIs for Android and iOS push messaging platforms. それらは、Project Rome SDK for iOS および Android を使用していて、ユーザー アクティビティの公開以外のことをする場合に必須です。These are required if you're using the Project Rome SDKs for iOS and Android and you want to do more than publish user activities. Project Rome API for Microsoft Graph のみを使用する場合は、この手順を実行する必要はありません。If you're using Project Rome APIs for Microsoft Graph only, you don't need to perform this step. プラットフォームごとに認証情報を最大 10 セット関連付けることができます。You can associate up to 10 sets of credentials per platform.

重要: プッシュ通知認証情報は、外部ホスティング JSON ファイルには保存しないでください。Important: Do not store push notification credentials in an externally hosted JSON file.

ID を検索するには:To find the IDs:

  • \*\*Windows 通知サービス\*\* - 「[アプリの登録とクラウド サービスのための認証情報の受け取り](https://docs.microsoft.com/previous-versions/windows/apps/hh913756(v=win.10)#registering-your-app-and-receiving-the-credentials-for-your-cloud-service)」および「[アプリケーション登録ポータル](https://apps.dev.microsoft.com)」を参照してください。**Windows Notification Service** - See [Registering your app and receiving the credentials for your cloud service](https://docs.microsoft.com/previous-versions/windows/apps/hh913756(v=win.10)#registering-your-app-and-receiving-the-credentials-for-your-cloud-service) and the [Application registration portal](https://apps.dev.microsoft.com).
  • Apple Push Notification Service -「APN の概要」を参照してください。Apple Push Notification Service -See APNs Overview.
  • Google Cloud Messaging - 「Firebase Cloud Messaging」を参照してください。Google Cloud Messaging - See Firebase Cloud Messaging.

注: Firebase を使用することにより iOS デバイスに Android 認証情報を使用して通知をプッシュしている場合は、クロスデバイス アプリ構成の一部として APN 認証情報を提供する必要があります。Note: If you're using Firebase to push notifications to iOS devices using Android credentials, you'll need to provide your APNs credentials as part of your cross-device app configuration.

外部ホスティング JSON ファイルを使用してクロスデバイス アプリを構成するConfigure a cross-device app using an externally hosted JSON file

クロスデバイス アプリ ID は、自分の所有するドメインとして表されます。A cross-device app ID is represented as a domain that you own. そのドメインは、自分のドメイン上でホスティングされる JSON ファイルとして、または Windows デベロッパー センターにより構成可能なものとして保存されているプラットフォーム固有のアプリ ID のマッピングを指します。The domain points to a mapping of your platform-specific app IDs stored either as a JSON file hosted on your domain or configurable via the Windows Dev Center. クロスデバイス アプリ ID を表すために使用するドメインを特定したら、次に、関連するプロファイルを構成するための情報を収集する必要があります。After you identify the domain you'll use to represent your cross-device app ID, you'll need to collect information to configure the associated profile.

手順 1: クロスデバイス アプリ ID のためのセキュリティ保護ドメインを選択するStep 1: Select a secure domain for your cross-device app ID

クロスデバイス アプリ ID は、自分の所有するドメインとして表されます。A cross-device app ID is represented as a domain that you own. これは、トップレベルのドメインかサブドメインのいずれかで、TLS で保護されていなければなりません。This must either be a top-level domain or a subdomain, and must be protected via TLS. 例: https://contoso.com または https://myapp.contoso.com。しかし、https://myapp.contoso.com/somepath は無効です。For example: https://contoso.com or https://myapp.contoso.com but NOT https://myapp.contoso.com/somepath. ドメイン (またはサブドメイン) はクロスデバイス アプリごとに固有でなければなりません。You must have a unique domain (or subdomain) per cross-device app. しかし、単一のクロスデバイス アプリにどのアプリを関連付けるかは、サポートする予定のクロスプラットフォームの動作に基づいて自分で決定します。However, you decide which apps to associate with a single cross-device app based on the cross-platform behavior you want to support.

たとえば、一連のゲーム アプリを手がけるアプリ開発者は、アプリごとに別個のサブドメインを使い分けることにより、複数のデバイスやプラットフォームでデータを読んで再開可能なユーザー アクティビティにのみ確実に各アプリがサブスクライブされるようにするかもしれません。For example, an app developer with a suite of game apps might use a separate subdomain for each to ensure that each app is only subscribed to the user activities it can resume when reading data across devices and platforms. 連携動作するよう設計された一連の生産性アプリ スイートを手がけるアプリ開発者は、そのすべてに共通の単一のドメインを使用することにより、デバイスが変わってもアプリでスイートのメンバーを立ち上げることができるようにするかもしれません。An app developer with a suite of productivity apps designed to work together might use a single domain for all of these so that any app is able to launch a member of the suite across devices.

外部ホスティング JSON ファイルによるドメイン所有権のアサートAssert domain ownership with an externally hosted JSON file

外部ホスティング JSON ファイルを使用してクロスデバイス アプリを管理している場合は、cross-platform-app-identifiers ファイルの中に Microsoft アカウントまたは Azure AD アプリ ID を含めることにより、ドメイン所有権をアサートします。If you're using an externally hosted JSON file to manage your cross-device app, you assert domain ownership by including your Microsoft account or Azure AD app IDs in the cross-platform-app-identifiers file. ドメイン所有権は、アクティビティ フィード API を使用してユーザー アクティビティを作成する際に、公開プロセスの一部として検証されます。Your domain ownership will be verified as part of the publish process when you use the activity feed API to create user activities.

ドメイン上で頻繁にリクエストが生成されるのを回避するため、JSON ファイルの内容はシステムによりキャッシュに入れられます。The system will cache the contents of the JSON file to avoid generating frequent requests on your domain. 構成されている場合、キャッシュ更新のタイミングを評価する際に、サービスにより HTTP キャッシュ ヘッダーが考慮されます。If configured, the service will respect HTTP cache headers when evaluating when to refresh the cache. 構成されていない場合、サービスは 24 時間ごとに更新されます。If not configured, the service will refresh every 24 hours.

手順 2: プラットフォーム固有アプリケーション ID を収集し、JSON ファイルを構成するStep 2: Collect your platform-specific application IDs and construct your JSON file

アクティビティ フィードやデバイス リレー API を使用するアプリケーションとプラットフォームのそれぞれについて、プラットフォーム固有のアプリケーション ID を収集します。Collect the platform-specific application IDs for each application and platform that will use the activity feed and/or device relay API.

クロスデバイス アプリ ID に関連付けるため、それぞれのプラットフォーム固有のアプリケーション ID を収集する必要があります。You'll need to collect each of the platform-specific application IDs in order to associate them with your cross-device app identity. 外部ホスティング JSON ファイルを使用する場合、クロスデバイス アプリの一部として構成するプラットフォーム固有アプリのそれぞれについてアプリ ID を収集し、それらをアセンブルして指定された形式にする必要があります。Using an externally hosted JSON file, you'll need to collect app IDs for each of the platform-specific apps to configure as part of your cross-device app and assemble them into the specified format. プラットフォームごとに最大 10 個の ID を関連付けることができます。You can associate up to 10 IDs per platform.

cross-platform-app-identifiers ファイルの構成Constructing your cross-platform-app-identifiers file

JSON ファイル自体の名前は cross-platform-app-identifiers でなければならず、HTTPS ドメインのルートでホスティングされていなければなりません。The JSON file itself must be named cross-platform-app-identifiers and hosted at root of your HTTPS domain. ファイルの内容は、アプリケーションでサポートされるプラットフォームと、それらのプラットフォーム上のアプリケーション ID とのマッピングの JSON 配列です。The contents of the file are a JSON array of mappings between your application's supported platforms and the application IDs on those platforms. このファイルを構成する際には、Project Rome API を使用するアプリケーションおよびプラットフォームのそれぞれについて、JSON オブジェクトを 1 つずつ含めます。When constructing the file, include a JSON object for each application and platform that will use Project Rome APIs.   このファイルにより、同じプラットフォーム ID で複数の JSON オブジェクトが可能になります。The file will allow for multiple JSON objects with the same platform identifier. たとえば、iPhone アプリと iPad アプリは、それぞれ iOS をプラットフォーム値として、別個の JSON オブジェクトとして列挙される必要があります。For example, an iPhone app and an iPad app should be listed as separate JSON objects, each with a platform value of iOS. 次の例に、Web プラットフォーム ID を示します。The web platform identifier is shown in the following example.   すべてのプラットフォームについて JSON オブジェクトを含める必要はありません。You don't need to include a JSON object for all platforms. アプリケーションが Project Rome API を使用するプラットフォームについてのみ、JSON オブジェクトを含めます。Only include JSON objects for platforms where your application is using Project Rome APIs.たとえば、Android プラットフォームのアプリ クライアントがない場合、ファイルの中に Android のエントリを含める必要はありません。 For example, if you don't have an app client for the Android platform, you don’t need an entry in the file for Android.   次の例には、現在受け入れられる有効なプラットフォーム ID のすべてが含まれています。The following example includes all the valid platform identifiers currently accepted. 無効なプラットフォーム値が含まれる JSON オブジェクトは、除去されます。JSON objects that include an invalid platform value will be stripped out. 

{"platform":"windows_universal", "application":"Microsoft.Contoso_8wekyb3d8bbwe"},
{"platform":"windows_win32", "application":"DefaultBrowser_NOPUBLISHERID!Microsoft.Contoso.Default"},
{"platform":"android","application":"com.example.myapp"},
{"platform":"ios", "application":"com.example.myapp"},
{"platform":"web", "application":"https://contoso.com"},
{"platform":"web", "application":"https://chat.contoso.com"},
{"platform":"msa", "application":"00000000603E0BF"},
{"platform":"msa", "application":"48932b46-98b1-4020-9be4-cc7a65643c9e"},
]

ID を検索するには:To find the IDs:

手順 3: Microsoft アカウントまたは Azure AD のサポートを構成するStep 3: Configure support for Microsoft account or Azure AD

クロスデバイス エクスペリエンスを有効にするには、アプリ ユーザーが Microsoft アカウントまたは Azure AD アカウントのいずれかでサインインする必要があります。To enable cross-device experiences, your app users must sign in with either a Microsoft account or an Azure AD account. クロスデバイス アプリ構成の一部として認証をサポートするためのアプリ ID/クライアント ID を提供することにより、クロスプラットフォーム サポートが有効になります。You will provide the app ID/client IDs to support authentication as part of your cross-device app configuration to enable cross-platform support. 最大 10 個のインスタンスを提供できます。You can provide up to 10 instances.

{"platform":"windows_universal", "application":"Microsoft.Contoso_8wekyb3d8bbwe"},
{"platform":"windows_win32", "application":"DefaultBrowser_NOPUBLISHERID!Microsoft.Contoso.Default"},
{"platform":"android","application":"com.example.myapp"},
{"platform":"ios", "application":"com.example.myapp"},
{"platform":"web", "application":"https://contoso.com"},
{"platform":"web", "application":"https://chat.contoso.com"},
{"platform":"msa", "application":"00000000603E0BF"},
{"platform":"msa", "application":"48932b46-98b1-4020-9be4-cc7a65643c9e"},
]

既存のアプリ ID/クライアント ID を検索するか、またはデベロッパー カウントで アプリケーション登録ポータルにサインインすることにより新しい ID をプロビジョニングします。You can find your existing app ID/client IDs or provision new ones by signing in to the Application Registration Portal with your developer account. サインインすると、自分の任意のアプリのアプリ ID/クライアント ID を確認できます。When you sign in, you can view the App ID/client ID for any of your apps. Live SDK (16 進値) と統合アプリ ID (GUID) の両方がサポートされています。Both Live SDK (hex values) and converged app IDs (GUIDs) are supported. 前の例に示されているように、Microsoft アカウントまたは Azure AD のサポートを有効にするために使用される ID を追加する際には、プラットフォーム タイプとして "msa" を使用します。Use the platform type "msa" when you add the IDs used to enable support for a Microsoft account or Azure AD, as shown in the previous example.

注: Azure AD のユーザーをサポートするアプリケーションをビルドする場合、 アプリケーション登録ポータルにより発行される統合アプリケーション ID を使用していないなら、Azure アプリのアプリケーション ID のための GUID を提供することが必要になります。Note: If you're building an application that supports Azure AD users, and you do not use a converged application ID issued through the Application Registration Portal, you will need to provide the GUID for the application ID of your Azure app. このタイプの ID は、プラットフォーム タイプ "msa" としても構成されていなければなりません。This type of ID should also be configured as platform type "msa".

テナントに対応する Azure Portal の GUID を検索するには:To find the GUID in the Azure Portal for your tenant:

  1. Azure portalにサインインします。Sign in to the Azure portal.
  2. Azure Active Directory を選択します。Select Azure Active Directory.
  3. [管理] の下で [アプリの登録] を選択します。Under Manage, select App registrations.
  4. リストからアプリを選択します。Select your app from the list. [基本] の下にアプリケーション ID (GUID) が表示されます。You can view your application ID (GUID) under Essentials.

cross-platform-app-identifiers ファイルのエンコードEncoding the cross-platform-app-identifiers file

プラットフォームを移る際に、アクティビティが正しいネイティブ アプリケーションで再開しない場合、またはグループ内の全メンバーによって公開されているアクティビティを読み取ることができない場合、JSON ファイルが適切に解析されていないことが考えられます。If you're not seeing activities resume in the correct native applications across platforms, or you're unable to read activities published by all members in the group, your JSON file might not be getting parsed appropriately. このファイルを出力する際には、cross-platform-app-identifiers ファイルを "Unicode (シグニチャなしの UTF-8) - コードページ 65001" エンコードで保存するようにしてください。When outputting this file, make sure you're saving the cross-platform-app-identifiers file with "Unicode (UTF-8 without signature) - Codepage 65001" encoding.

cross-platform-app-identifiers JSON ファイルの更新Updating the cross-platform-app-identifiers JSON file

ドメイン上で頻繁にリクエストが生成されるのを回避するため、JSON ファイルの内容はシステムによりキャッシュに入れられます。The system will cache the contents of the JSON file to avoid generating frequent requests on your domain. 構成されている場合、キャッシュ更新のタイミングを評価する際に、サービスにより HTTP キャッシュ ヘッダーが考慮されます。If configured, the service will respect HTTP cache headers when evaluating when to refresh the cache. 構成されていない場合、サービスは 24 時間ごとに更新されます。If not configured, the service will refresh every 24 hours.

アプリ クライアントを構成するConfigure your app client

Windows、iOS、Android のクライアント サイド API を使用している場合、アプリ クライアントを確実に、クロスデバイス アプリ ID を表すホスト値 (contoso.com など) で構成する必要があります。If you're using the client-side APIs for Windows, iOS, or Android, you'll need to make sure your app client is configured with the host value that represents your cross-device app identity (for example, contoso.com).

Microsoft Graph のアプリMicrosoft Graph apps

Microsoft Graph でアクティビティ フィード API を使用するアプリがある場合、ホスト値を activitySourceHost プロパティに指定する必要があります。If you have an app using the activity feed API in Microsoft Graph, your host value must be supplied in the activitySourceHost property. 詳細については、「アクティビティ リソース タイプ」を参照してください。For details, see activity resource type.

ユニバーサル Windows アプリUniversal Windows apps

Windows アプリがある場合、データを公開する前に、アプリ マニフェストの中にホスト値を構成する必要があります。If you have a Windows app, you will need to configure the host value in your app manifest before publishing data. 詳細については、「uap5:UserActivity」を参照してください。For details, see uap5:UserActivity.

クロスデバイス アプリ構成のメンテナンスMaintaining your cross-device app configuration

ユーザー アクティビティを生成する新しいアプリケーションをリリースする際には、事前に新しい構成値を使用してクロスデバイス アプリを更新することが重要です。これにより、新たに公開されるアクティビティがある場合に、それらがクロスデバイス アプリに正しく関連付けられます。When releasing a new application that will generate user activities, it's important to update the cross-device app with the new configuration values in advance so that any new activities published are correctly associated with the cross-device app. 構成に変更が加えられる前に公開されたユーザー アクティビティに関連付けられているクロスデバイス アプリ構成は、自動的には更新されません。The cross-device app configuration associated with user activities that have been published prior to a change in configuration will not be updated automatically. しかし、以前の構成のいずれかのアクティビティに対して更新操作が実行されると、ファイルの最新バージョンに更新されます。However, an update operation performed on any activity with an old configuration will be updated to the most recent version on file.

トラブルシューティングTroubleshooting

アクティビティ フィード API に関連してよく発生する問題として、次のものがあります。The following are some common issues that can occur with the activity feed API.

クロスデバイス アプリ構成のどのアプリについても、アクティビティを読み書き用に利用できないActivities are not available to read and write for all apps in the cross-device app configuration

アクティビティ フィード API はクロスデバイス アプリ構成を非同期に取り込むため、構成にエラーがあっても、ユーザー アクティビティの公開時に明らかにならないことがあります。The activity feed API ingests the cross-device app configuration asynchronously, so configuration errors might not be readily apparent when publishing user activities. サービスで TLS や書式エラーのために JSON ファイルの取り込みに失敗した場合、公開されているアクティビティは、そのアクティビティを投稿したアプリ ID のみに帰属することになります。In the event the service fails to ingest the JSON file, either due to TLS or formatting error, any activities that have been published will be attributed to the app ID that posted the activity, only. アクティビティが Microsoft Graph によって公開されたものである場合、これは、Microsoft Graph へのリクエストを承認するために使用される Microsoft アカウント アプリ ID です。In the case of activities published via Microsoft Graph, this is the Microsoft account app ID used to authorize requests to Microsoft Graph. アクティビティがクライアント サイド API によって公開されたものである場合、activity.applicationId は、アクティビティを投稿したプラットフォーム固有アプリの ID のみを記録します。In the case of activities published via client-side APIs, the activity.applicationId will record the ID of the platform-specific app that posted the activity, only. その場合、クロスデバイス アプリ構成の中で指定されている他のプラットフォーム固有アプリから、アクティビティに対して読み書きの操作を実行することはできません。This will prevent read and write operations on activities from any other platform-specific apps identified in the cross-device app configuration.

Android または iOS でプラットフォームが初期化されないPlatform will not initialize on Android or iOS

Android または iOS のデバイス リレー API では、Android または iOS アプリへの接続のインスタンスを生成するために、クロスデバイス アプリ構成が必要です。The device relay API for Android or iOS requires the cross-device app configuration in order to instantiate connections to the Android or iOS app. プラットフォームが正常に初期化できなかった場合は、Windows デベロッパー センターでクロスデバイス アプリを構成するために使用された Microsoft アカウント アプリ ID およびプッシュ通知認証情報が正しく指定されていることを確認した上で、クライアント アプリのホスト値を、クロスデバイス アプリを特定するドメインで構成してください。In the event that the platform fails to initialize successfully, make sure you have correctly identified the Microsoft account app IDs and push notification credentials used to configure your cross-device app in the Windows Dev Center, and configure your client apps' host value with the domain that identifies your cross-device app.