WWDC Quick Look 💓 By SwiftGGTeam
Explore SMS message filters

Explore SMS message filters

元の動画を見る

ハイライト

iOS 16 では、SMS メッセージ フィルタリング拡張機能に 12 の新しいサブ分類機能が追加されています。開発者は、未知の送信者からのテキスト メッセージを、単にスパムとしてマークするのではなく、トランザクションとプロモーションのサブフォルダーに自動的に分類できます。

主要内容

SMS 受信トレイが乱雑になる

01:08

多くの国では、SMS が企業が銀行取引のリマインダー、マーケティング活動、速達通知、予約のリマインダーなどを顧客に通知するための主要なチャネルとなっています。ショート コード、英数字コード、通常の電話番号からのメッセージが受信トレイに混在しているため、ユーザーが家族や友人からの個人的なメッセージを見つけるのが困難になっています。

iOS には「不明な送信者をフィルター」機能がありますが、毎日複数のメッセージを受信すると、フィルターされたフォルダーでもすぐに山積みになってしまいます。

メッセージ フィルター拡張機能の仕組み

02:04

iOS は、不明な送信者からのメッセージを分類するための拡張サンドボックス ベースのモデルを提供します。ユーザーが App Store からフィルタリング アプリをインストールした後、[設定] > [メッセージ] > [不明なスパム] でフィルタリングをオンにし、フィルタを選択します。同時にアクティブにできるフィルターは 1 つだけであることに注意してください。

iOS 14 以降、メッセージ アプリにはトランザクション、プロモーション、迷惑メールの 3 つのフォルダーが表示されます。この分類構造は、どのフィルターが使用されるかに関係なく一貫しています。

iOS 16 のサブカテゴリの機能強化

03:37

iOS 16 より前は、開発者はメッセージを 3 つのトップレベルのカテゴリに分類することしかできませんでした。 iOS 16 では、分類をより洗練するために 12 の新しいサブカテゴリが追加されています。

トランザクションのサブカテゴリ:

  • 財務
  • 注文
  • 健康
  • 公共サービス
  • 天気
  • リマインダー
  • 報酬

プロモーションのサブカテゴリ:

  • クーポン(クーポン)
  • オファー

インド市場を例に挙げると、ユーザーは金融取引のテキスト メッセージを大量に受信することがよくあります。これらのメッセージは、Transactions の下の Finance サブフォルダーに整理できるようになりました。

2 段階のフィルタリング プロセス

04:44

フィルタリング プロセスは 2 つの段階に分かれています。

構成フェーズ: ユーザーが設定でフィルターを選択すると、新しい iOS 16 API はフィルターでサポートされている機能をリクエストします。このフィルターは、サポートされているカテゴリとサブカテゴリのリストを返し、iOS の検証後にメッセージ アプリの受信トレイ フォルダーを更新します。

実行時分類フェーズ: 不明な送信者からテキスト メッセージを受信するたびに、iOS はフィルターにクエリを実行して、メッセージがどのカテゴリとサブカテゴリに属する​​かを判断します。フィルターは、構成フェーズ中に宣言された機能を返す必要があります。

詳細

メッセージ フィルター拡張機能の作成

06:32

Xcode で、メッセージ フィルター拡張ターゲットをプロジェクトに追加します。作成後、MessageFilterExtension.swift必要な関数テンプレートは自動的に生成されます。

サポートされるサブカテゴリを宣言する

07:02

成し遂げるhandle(_capabilitiesRequest:context:completion:)メソッド宣言機能:

func handle(
    _ capabilitiesRequest: ILMessageFilterCapabilitiesQueryRequest,
    context: ILMessageFilterExtensionContext,
    completion: @escaping (ILMessageFilterCapabilitiesQueryResponse) -> Void
) {
    let response = ILMessageFilterCapabilitiesQueryResponse()
    // 最大 5 つのサブカテゴリを選択
    response.transactionalSubActions = [
        .transactionalFinance,
        .transactionalOrders,
        .transactionalHealth
    ]
    response.promotionalSubActions = [
        .promotionalCoupons,
        .promotionalOffers
    ]
    completion(response)
}

キーポイント:

  • 最大 5 つのサブカテゴリを宣言します
  • transactionalSubActionsトランザクション カテゴリ サブカテゴリを設定する
  • promotionalSubActionsプロモーションのサブカテゴリーを設定する
  • 宣言後、メッセージ アプリケーションは対応するサブフォルダーを表示します。

メッセージ分類ロジック

08:16

成し遂げるhandle(_queryRequest:context:completion:)メソッドは受信メッセージを処理します。

func handle(
    _ queryRequest: ILMessageFilterQueryRequest,
    context: ILMessageFilterExtensionContext,
    completion: @escaping (ILMessageFilterQueryResponse) -> Void
) {
    guard let message = queryRequest.messageBody else { return }
    let response = ILMessageFilterQueryResponse()

    switch message {
    case _ where message.contains("debited"):
        response.filterAction = .transaction
        response.filterSubAction = .transactionalFinance
    case _ where message.contains("coupon"):
        response.filterAction = .promotion
        response.filterSubAction = .promotionalCoupons
    default:
        response.filterAction = .allow
    }

    completion(response)
}

キーポイント:

  • queryRequest.messageBodyメッセージテキストを取得する
  • filterAction最上位のカテゴリを設定します (.transaction.promotion.junk.allow
  • filterSubActionサブカテゴリーを設定する
  • 返されたアクションとサブアクションの組み合わせが一致しない場合、iOS はサブアクションを無視し、アクションのみを使用します。
  • 分類できないメッセージが返される.allowそして、それを通常の受信箱に入れます

分類結果表示

構成が完了すると、メッセージ アプリにサブフォルダーが表示されます。例えば:

  • トランザクション > 財務: 「借方記入」キーワードを含む銀行の SMS
  • トランザクション > 注文: 注文情報を含む SMS
  • プロモーション > クーポン: 「クーポン」キーワードを含むマーケティング テキスト メッセージ

Apple India SMS フィルターの更新

11:03

インドにおける Apple の SMS フィルターも、新しい Finance、Orders、および Reminders サブフォルダーを備えた iOS 16 の新機能を利用しています。銀行取引は財務に、テイクアウト/配達のメッセージは注文に、重要なイベントや ToDo 項目はリマインダーに入力されます。

重要ポイント

  • 内容: 特定の市場 (インド、東南アジアなど) 向けにローカライズされた SMS 分類ツールを開発します。

  • 実行する価値がある理由: これらの市場では多くのテキスト メッセージが使用されます。銀行、電子商取引、公共サービスはすべてテキスト メッセージ通知に依存しており、分類に対する強い需要があります。

  • 開始方法: メッセージ フィルター拡張機能を作成し、共通のローカル SMS テンプレート キーワードに基づいて分類ルールを構成します。

  • やるべきこと: 銀行取引のテキスト メッセージを自動的に整理するインテリジェントな財務アシスタントを構築します。

  • 実行する価値がある理由: 金融サブカテゴリは、銀行のテキスト メッセージに取引データをさらに抽出するための専用の場所を提供します。

  • 開始方法: 拡張機能で銀行の SMS 形式を識別し、金額、時間、販売者情報を抽出し、アプリのデータベースに保存して消費レポートを生成します。

  • やるべきこと: プロモーション情報集約ツールを開発する

  • 価値がある理由: クーポンとオファーのサブカテゴリーにより、ユーザーは受信トレイを整理しながらオファーを見逃すことがなくなります

  • 開始方法: プロモーション テキスト メッセージを対応するフォルダーに分類し、アプリ内で統合された割引コード管理と有効期限のリマインダーを提供します。

  • やるべきこと: エンタープライズ グレードの SMS 管理ソリューションを作成する

  • 実行する価値がある理由: 企業の内部システム (OA、ERP、監視アラーム) は、SMS を通じて通知を送信することが多く、マーケティング SMS とは区別する必要があります。

  • 開始方法: 企業向けにフィルターをカスタマイズし、内部システムのテキスト メッセージをリマインダーまたは公共サービスに分類して、重要な通知が埋もれてしまわないようにします。

関連セッション

コメント

GitHub Issues · utterances