WWDC Quick Look 💓 By SwiftGGTeam
Add SharePlay to your app

Add SharePlay to your app

元の動画を見る

ハイライト

SharePlay は、iOS 17 に 3 つの新しい拡張機能を追加します。AirDrop による近距離共有、5 つの新しいアクティビティ タイプ (ワークアウト/ショッピング/読書/学習/一緒に作成)、クロスプラットフォームおよびクロスシナリオの継続性エクスペリエンスで、どのアプリでも 1 人のアクティビティを複数人のコラボレーションに変えることができます。

主要内容

リモートから対面へ: AirDrop が SharePlay を起動

SharePlay は当初、FaceTime 通話でのみ利用可能でしたが、後にメッセージにも拡張されました。しかし、多くの場合、友人はあなたのそばにいます。地下鉄で一緒に音楽を聴いたり、レストランで一緒に食べ物を注文したり、ショッピングモールで一緒に家具を選んだりすることです。

(03:02) iOS 17 では、AirDrop 経由の SharePlay が追加されます。 SharePlayは、ユーザー名やメールアドレスを交換することなく、2台のデバイスを近づけると開始できます。これにより、SharePlayの適用シーンが「リモートプレイ」から「対面コラボレーション」まで広がります。

さらに良いのは、体験の継続性です。 SharePlay は AirDrop から開始され、その後友達が離れた場合は、シームレスにメッセージに切り替えて続行できます。ボイスチャットをしたい場合は、ワンクリックでFaceTime通話にジャンプできます。 tvOS 17 は大画面での FaceTime もサポートし、SharePlay を起動します。

豊富なアクティビティ タイプ

(04:45) 既存の「Watching Together」、「Listening Together」、「Playing Together」、「Generic」に加えて、今年はワークアウト、ショッピング、読書、学習、作成の 5 つの新しいアクティビティ タイプが追加されました。これらのタイプは、システム HUD に表示されるアイコンとテキストを決定し、ユーザーが現在何をしているかを一目で識別できるようにします。

あなたがイベントをリードし、Apple が群衆をリードします

SharePlay の核となるコンセプトは、「あなたがイベントをもたらし、Apple が観客をもたらす」です。アプリケーションはアクティビティ コンテンツと同期ロジックを定義するだけで済み、残りは GroupActivities フレームワークが行います。クラウド ディスカバリ、招待状の送信、エンドツーエンドの暗号化されたデータ チャネル、グループ管理 UI (個人セレクター、通知、ステータス変更) はすべて組み込まれています。

(01:06) データ チャネルでは FaceTime と同じエンドツーエンド暗号化が使用されており、Apple はアプリ データを確認できません。これはユーザーのプライバシーを強力に保証します。

詳細

グループアクティビティを定義する

(04:15) SharePlay アクティビティを実装する必要がありますGroupActivityプロトコル:

import GroupActivities

struct OrderTogether: GroupActivity {
    // 唯一标识符,供系统引用
    static let activityIdentifier = "com.example.TacoTruck.OrderTogether"

    // 应用特定数据,用于在其他设备上启动活动
    let orderUUID: UUID
    let truckName: String

    var metadata: GroupActivityMetadata {
        var metadata = GroupActivityMetadata()
        metadata.title = "Order Tacos Together"
        metadata.subtitle = truckName
        metadata.previewImage = UIImage(named: "ActivityImage")?.cgImage
        metadata.type = .shopTogether
        return metadata
    }
}

キーポイント:

  • activityIdentifierグローバルに一意な逆ドメイン名形式である必要があります -metadata.titleアクティビティの名前です (アプリ名ではありません) -subtitle追加のコンテキスト情報を提供する -previewImageイベント固有の画像です (アプリアイコンではありません) -typeシステム UI 表示に影響を与える最も一致するアクティビティ タイプを選択します

メタデータ構成例

(04:15) 基本的なメタデータ設定:

var metadata: GroupActivityMetadata {
    var metadata = GroupActivityMetadata()
    metadata.title = "Order Tacos Together"
    metadata.type = .generic
    return metadata
}

キーポイント:

  • アプリに複数のアクティビティがある場合は、各アクティビティのタイトルとアイコンが共通でないことを確認してください
  • システムは、typeHUD に対応するアイコンを表示します (Watch、Listen、Game、または General)
  • 新しいタイプ (ワークアウト、ショップ、読み取り、学習、作成) が iOS 17、iPadOS 17、macOS Sonoma、tvOS 17 で利用可能

シーン間の連続性

(03:36) SharePlay は 3 つの開始方法をサポートし、シームレスに切り替えることができるようになりました。

  1. FaceTime: 通話中に [共有] ボタンをクリックすると、システムは SharePlay をサポートするアプリのリストを表示します。
  2. メッセージ: 電話する必要はありません。メッセージで直接共有アクティビティを開始できます。
  3. AirDrop: デバイスが近づくと開始でき、対面のシナリオに適しています。

(08:35) SharePlay セッションに入ると、参加者はグループを再構成することなく、いつでもアクティビティ タイプを切り替えることができます。たとえば、「一緒に曲を聴く」から「一緒にビデオを見る」に切り替えると、グループ全体もそれに応じて切り替わります。

アプリケーションの検出とインストール

(08:54) グループ内の誰かが SharePlay をサポートするアプリをインストールしていない場合、システムはそのユーザーを自動的に App Store に誘導してダウンロードします。これにより、新規ユーザーが参加する障壁が低くなります。

重要ポイント

  1. 一緒に買い物ができるECアプリ

    • やるべきこと: カップルやルームメイトは一緒に商品を閲覧し、どの家具や装飾品を購入するかを一緒に決めることができます。
    • 実行する価値がある理由: AirDrop を介した SharePlay により、一緒に同じ画面を見る必要がなく、対面でのショッピング シーンが自然になります
    • 開始方法: を定義します。GroupActivity、タイプはに設定されています.shopTogether、使用GroupSessionMessenger現在閲覧している商品と注釈を同期します
  2. 共同学習のための教育アプリケーション

    • やるべきこと: 生徒は指導表を見て、注釈を付け、一緒に質問について話し合うことができ、内容はリアルタイムで同期されます。
    • 実行する価値がある理由: 教育シナリオは、当然のことながら複数人でのコラボレーションに適しています。 SharePlay はエンドツーエンドの暗号化された同期チャネルを提供し、独自に構築したサーバーを必要としません。
    • 開始方法: タイプを次のように設定します。.learnTogether、キャンバス操作 (ブラシ、注釈、ページめくり) を渡します。GroupSessionMessenger放送
  3. 一緒にフィットネスのための運動アプリケーション

    • やるべきこと: 友達は一緒にコースをたどり、お互いの進捗状況と心拍数をリアルタイムで確認できます
    • 実行する価値がある理由: 新しいタイプ.workoutTogetherシステムの HUD にフィットネス アイコンが表示されるため、ユーザーは自分が何をしているのかが一目でわかります。
    • 開始方法: GroupActivity を定義するときに、タイプを に設定します。.workoutTogether、現在のトレーニング段階と完了ステータスを同期します。
  4. 共有ホワイトボード用アプリケーションのデザイン

    • やるべきこと: デザイナーとクライアントは、一緒にホワイトボードに写真を貼り付けたり、線を引いたり、メモを書き込んだりできます。
    • 実行する価値がある理由: 組み合わせるGroupSessionJournal(SharePlay でファイルを共有する を参照)、添付画像を共有キャンバスに転送できます。
    • 開始方法: を使用しますGroupSessionMessengerブラシ操作を同期するには、次を使用します。GroupSessionJournal参考画像を転送
  5. 食べ物を一緒に注文するためのテイクアウト アプリを作成します

    • やるべきこと: グループでメニューを閲覧し、それぞれが食べたいものを選択し、最後に注文を組み合わせます。
    • 実行する価値がある理由: これは、日常生活に非常に近く、ユーザーの支持率が高い Session のデモ シーンです。
    • 開始方法: タイプを次のように設定します。.shopTogetherまたは.generic、全員の選択内容とショッピング カートのステータスを同期します

関連セッション

コメント

GitHub Issues · utterances