Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DMMブックスへのTipKit導入
Search
hisashi
January 20, 2025
Technology
1
270
DMMブックスへのTipKit導入
2025/1/17 Sansan x DMM.swift
https://dmm.connpass.com/event/336359/
の登壇スライドです。
hisashi
January 20, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
470
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
170
OPENLOGI Company Profile
hr01
0
67k
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
110
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
180
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
390
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
160
Lazy application authentication with Tailscale
bluehatbrit
0
210
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
110
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
260
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
2
170
Featured
See All Featured
KATA
mclloyd
30
14k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Adopting Sorbet at Scale
ufuk
77
9.5k
Six Lessons from altMBA
skipperchong
28
3.9k
Designing for Performance
lara
610
69k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
BBQ
matthewcrist
89
9.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
Transcript
© DMM © DMM CONFIDENTIAL DMMブックスへの TipKit導入 Sansan x DMM.swift
合同会社 DMM.com 宗像恒 2025/01/17
© DMM 自己紹介 宗像 恒 / Munakata Hisashi 合同会社 DMM.com
2024/10 中途入社 電子書籍開発部 ネイティブアプリ開発グループ DMMブックス iOSアプリを開発 2
© DMM 今日話すこと • TipKitとは • 基本的な使い方 • DMMブックスでの導入例 •
その他の機能 3
© DMM TipKitとは 機能を発見してもらうためのヒントを簡単に表示するフレームワーク • デフォルトのViewを提供 • タイトル、メッセージ、画像などの要素を指定する • 表示条件の設定
• 表示状態、履歴をフレームワーク側で管理 4
© DMM TipKitとは ユースケース • 効果的なヒント • 実践可能で覚えやすいものを示す • 使うべきでない
• プロモーション • エラーメッセージ(アラートなど、別の手段をとる) • アクションの必要がない • 操作が複雑すぎるもの(チュートリアルなど、別の手段をとる) 5
© DMM 基本的な使い方 ヒントの作成と初期化 6
© DMM 基本的な使い方 ヒントの表示 7
© DMM 基本的な使い方 OptionとAction 8
© DMM DMMブックスでの導入例 • 起動時にアップデート内容 を知らせる機能はあるが、 伝えられる内容に限りがあ る • 検索画面に追加した機能に
TipKitでヒントを表示 9
© DMM DMMブックスでの導入例 • iOS 16のユーザーにはヒントは出 していない • 9割以上のユーザーがiOS 17以上
になっている • 表示頻度や表示履歴の管理を自 前で用意するほどではないと判断 10
© DMM その他の機能 Rule, Parameter, Event • Rule • @Parameterを使って状態に応じてヒントを出す
11
© DMM その他の機能 Rule, Parameter, Event 12 • Rule •
@Parameterを使って状態に応じてヒントを出す
© DMM その他の機能 Rule, Parameter, Event • Rule • Eventを定義してユーザーの行動に応じてヒントを出す
13
© DMM その他の機能 Rule, Parameter, Event • Rule • Eventを定義してユーザーの行動に応じてヒントを出す
14
© DMM その他の機能 デバッグ • 開発時に使う関数 • Tips.showAllTipsForTesting() • 全部のヒントを強制的に表示する
• Tips.showTipsForTesting([BookmarkTip.self]) • 指定したヒントを強制的に表示する • Tips.hideAllTipsForTesting() • 全部のヒントを表示しない • Tips.hideTipsForTesting([BookmarkTip.self]) • 指定したヒントを表示しない • try Tips.resetDatastore() • ヒントに関するデータをクリアする 15
© DMM その他の機能 ヒントのグループ化(iOS 18.0+) • タップ • 背景色変更 •
長押し • アラート 16
© DMM その他の機能 ヒントのグループ化 タップのヒントを消してか ら長押しのヒントを表示し たい 17
© DMM その他の機能 ヒントのグループ化 18
© DMM その他の機能 ヒントの見た目を変える • インラインのTipViewは見た目を変えられる • 背景色 tipBackground •
画像サイズ tipImageSize • 角丸 tipCornerRadius 19
© DMM その他の機能 ヒントの見た目を変える • TipViewStyle protocol を使うとより自由度が高く なる •
独自のStyleを定義して tipViewStyle modifier で 適用 20
© DMM
© DMM 22 • TipKitとは • 基本的な使い方 • DMMブックスでの導入例 •
見た目で気づきにくいところに使用 • その他の機能 • Rule, Parameter, Event • デバッグ • ヒントのグループ化 • 見た目を変える まとめ
© DMM ご清聴ありがとうございました