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
290
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
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
370
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
420
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
4
1.5k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
170
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
430
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Become a Pro
speakerdeck
PRO
29
5.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Speed Design
sergeychernyshev
32
1.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The Invisible Side of Design
smashingmag
301
51k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
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 ご清聴ありがとうございました