Slide 1

Slide 1 text

© DMM © DMM CONFIDENTIAL DMMブックスへの TipKit導入 Sansan x DMM.swift 合同会社 DMM.com 宗像恒 2025/01/17

Slide 2

Slide 2 text

© DMM 自己紹介 宗像 恒 / Munakata Hisashi 合同会社 DMM.com 2024/10 中途入社 電子書籍開発部 ネイティブアプリ開発グループ DMMブックス iOSアプリを開発 2

Slide 3

Slide 3 text

© DMM 今日話すこと • TipKitとは • 基本的な使い方 • DMMブックスでの導入例 • その他の機能 3

Slide 4

Slide 4 text

© DMM TipKitとは 機能を発見してもらうためのヒントを簡単に表示するフレームワーク • デフォルトのViewを提供 • タイトル、メッセージ、画像などの要素を指定する • 表示条件の設定 • 表示状態、履歴をフレームワーク側で管理 4

Slide 5

Slide 5 text

© DMM TipKitとは ユースケース • 効果的なヒント • 実践可能で覚えやすいものを示す • 使うべきでない • プロモーション • エラーメッセージ(アラートなど、別の手段をとる) • アクションの必要がない • 操作が複雑すぎるもの(チュートリアルなど、別の手段をとる) 5

Slide 6

Slide 6 text

© DMM 基本的な使い方 ヒントの作成と初期化 6

Slide 7

Slide 7 text

© DMM 基本的な使い方 ヒントの表示 7

Slide 8

Slide 8 text

© DMM 基本的な使い方 OptionとAction 8

Slide 9

Slide 9 text

© DMM DMMブックスでの導入例 • 起動時にアップデート内容 を知らせる機能はあるが、 伝えられる内容に限りがあ る • 検索画面に追加した機能に TipKitでヒントを表示 9

Slide 10

Slide 10 text

© DMM DMMブックスでの導入例 • iOS 16のユーザーにはヒントは出 していない • 9割以上のユーザーがiOS 17以上 になっている • 表示頻度や表示履歴の管理を自 前で用意するほどではないと判断 10

Slide 11

Slide 11 text

© DMM その他の機能 Rule, Parameter, Event • Rule • @Parameterを使って状態に応じてヒントを出す 11

Slide 12

Slide 12 text

© DMM その他の機能 Rule, Parameter, Event 12 • Rule • @Parameterを使って状態に応じてヒントを出す

Slide 13

Slide 13 text

© DMM その他の機能 Rule, Parameter, Event • Rule • Eventを定義してユーザーの行動に応じてヒントを出す 13

Slide 14

Slide 14 text

© DMM その他の機能 Rule, Parameter, Event • Rule • Eventを定義してユーザーの行動に応じてヒントを出す 14

Slide 15

Slide 15 text

© DMM その他の機能 デバッグ • 開発時に使う関数 • Tips.showAllTipsForTesting() • 全部のヒントを強制的に表示する • Tips.showTipsForTesting([BookmarkTip.self]) • 指定したヒントを強制的に表示する • Tips.hideAllTipsForTesting() • 全部のヒントを表示しない • Tips.hideTipsForTesting([BookmarkTip.self]) • 指定したヒントを表示しない • try Tips.resetDatastore() • ヒントに関するデータをクリアする 15

Slide 16

Slide 16 text

© DMM その他の機能 ヒントのグループ化(iOS 18.0+) • タップ • 背景色変更 • 長押し • アラート 16

Slide 17

Slide 17 text

© DMM その他の機能 ヒントのグループ化 タップのヒントを消してか ら長押しのヒントを表示し たい 17

Slide 18

Slide 18 text

© DMM その他の機能 ヒントのグループ化 18

Slide 19

Slide 19 text

© DMM その他の機能 ヒントの見た目を変える • インラインのTipViewは見た目を変えられる • 背景色 tipBackground • 画像サイズ tipImageSize • 角丸 tipCornerRadius 19

Slide 20

Slide 20 text

© DMM その他の機能 ヒントの見た目を変える • TipViewStyle protocol を使うとより自由度が高く なる • 独自のStyleを定義して tipViewStyle modifier で 適用 20

Slide 21

Slide 21 text

© DMM

Slide 22

Slide 22 text

© DMM 22 • TipKitとは • 基本的な使い方 • DMMブックスでの導入例 • 見た目で気づきにくいところに使用 • その他の機能 • Rule, Parameter, Event • デバッグ • ヒントのグループ化 • 見た目を変える まとめ

Slide 23

Slide 23 text

© DMM ご清聴ありがとうございました