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
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
170
P2P通信の標準化 WebRTCを知ろう
faithandbrave
6
2k
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
210
DATA+AI SummitとSnowflake Summit: ユーザから見た共通点と相違点 / DATA+AI Summit and Snowflake Summit
nttcom
0
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.7k
20150719_Amazon Nova Canvas Virtual try-onアプリ 作成裏話
riz3f7
0
110
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
150
Digitization部 紹介資料
sansan33
PRO
1
4.6k
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
250
OTel 公式ドキュメント翻訳 PJ から始めるコミュニティ活動/Community activities starting with the OTel official document translation project
msksgm
0
150
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
5
170
M365アカウント侵害時の初動対応
lhazy
5
4k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
1.9k
A better future with KSS
kneath
238
17k
What's in a price? How to price your products and services
michaelherold
246
12k
Making Projects Easy
brettharned
116
6.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
BBQ
matthewcrist
89
9.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
GraphQLとの向き合い方2022年版
quramy
49
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Designing for humans not robots
tammielis
253
25k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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 ご清聴ありがとうございました