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
240
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
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
150
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
9.1k
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
160
Linuxのパッケージ管理とアップデート基礎知識
go_nishimoto
1
700
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
530
ここはMCPの夜明けまえ
nwiizo
32
13k
MCPを理解する
yudai00
12
9.2k
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
540
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
270
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
190
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
340
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
How to train your dragon (web standard)
notwaldorf
91
6k
Being A Developer After 40
akosma
91
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Code Reviewing Like a Champion
maltzj
523
40k
Six Lessons from altMBA
skipperchong
28
3.7k
Designing for Performance
lara
608
69k
Adopting Sorbet at Scale
ufuk
76
9.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
The Invisible Side of Design
smashingmag
299
50k
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 ご清聴ありがとうございました