SlideShare a Scribd company logo
1 of 34
キャンペーンお知らせダイアログを
2行で実装
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
目次
● 自己紹介
● 実装したいもの
● 実装
● まとめ
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
自己紹介
飯島彩輝
twitter:@saekisaekisaek
blog:エンジニアの便利手帳/3jigen.net
ヤフー株式会社
ヤフオク!Androidエンジニア
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
キャンペーンお知らせダイアログ実装したい
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
アプリ起動時にキャンペーンを
お知らせするダイアログを出したい
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
キャンペーン期間中に
1ユーザー1回だけ表示してほしい
ユーザー×1
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
画像やテキストは
リモートで更新したい
編集ツール
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
背景とテキストカラーも
キャンペーンによって変えたい
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
あと折角だから画像だけにしたり
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
トップバナーにしたりしたい
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
同時に複数個のキャンペーンが
ある事もある
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
期間の長いキャンペーンは3日に
1回表示したい
3日に1回
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装お願いします
よ ろ し く !
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
結構大変そう
<大変そう…
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装する機能一覧
1. アプリ起動時にキャンペーンをお知らせするダイアログを出したい
2. キャンペーン期間中に1ユーザー1回だけ表示
3. 画像やテキストはリモートで更新したい
4. 背景とテキストカラーもキャンペーンによって変えたい
5. 場合によっては画像だけにしたい
6. トップバナーにもしたい
7. 同時に複数個のキャンペーンがある
8. 期間の長いキャンペーンは3日に一回表示
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
切り札あります
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
Firebase In-App Messaging
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
In-App Messaging
Firebaseが提供するサービス
アプリ内にメッセージを表示することができる
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装する機能一覧
1. アプリ起動時にキャンペーンをお知らせするダイアログを出したい
2. キャンペーン期間中に1ユーザー1回だけ表示
3. 画像やテキストはリモートで更新したい
4. 背景とテキストカラーもキャンペーンによって変えたい
5. 場合によっては画像だけにしたい
6. トップバナーにもしたい
7. 同時に複数個のキャンペーンがある
8. 期間の長いキャンペーンは3日に一回表示
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
実装する機能一覧
1. アプリ起動時にキャンペーンをお知らせするダイアログを出したい
2. キャンペーン期間中に1ユーザー1回だけ表示
3. 画像やテキストはリモートで更新したい
4. 背景とテキストカラーもキャンペーンによって変えたい
5. 場合によっては画像だけにしたい
6. トップバナーにもしたい
7. 同時に複数個のキャンペーンがある
8. 期間の長いキャンペーンは3日に一回表示
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
使い方
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
アカウント・プロジェクトの設定して
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
build.gradleに追加
app/build.gradle
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
build.gradleに追加
app/build.gradle
アプリ側はこれだけ!!
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
キャンペーン作成:レイアウト
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
キャンペーン作成:宛先(後述)
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
キャンペーン作成:スケジュール
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
公開するだけ!
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
表示されます
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
宛先を細かく指定することができる
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
宛先を細かく指定することができる
analyticsと組み合わせて
ユーザーの行動に基づいて
お知らせを出せる!!Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
まとめ
Firebase In-App Messagingはすごい
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.
終わり
<ありがとうございました!
Copyright(C) 2018 Yahoo Japan Corporation. All Rights Reserved.

More Related Content

Similar to In-app messaging

GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyoGitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyoYahoo!デベロッパーネットワーク
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発Namito Satoyama
 
PayPayのスピード×ビジネス×デザイン
PayPayのスピード×ビジネス×デザインPayPayのスピード×ビジネス×デザイン
PayPayのスピード×ビジネス×デザインEri Fujiki
 
ドメイン駆動設計とマイクロサービス
ドメイン駆動設計とマイクロサービスドメイン駆動設計とマイクロサービス
ドメイン駆動設計とマイクロサービスkouki_mitsuishi
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋Yahoo!デベロッパーネットワーク
 
グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】 「グロバール×スマホゲーム」の勝ち方セミナー資料
グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】   「グロバール×スマホゲーム」の勝ち方セミナー資料グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】   「グロバール×スマホゲーム」の勝ち方セミナー資料
グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】 「グロバール×スマホゲーム」の勝ち方セミナー資料Katsuaki Sato
 
キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋
キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋
キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋Yahoo!デベロッパーネットワーク
 

Similar to In-app messaging (20)

全社デザインシステムとサービスの付き合い方
 全社デザインシステムとサービスの付き合い方 全社デザインシステムとサービスの付き合い方
全社デザインシステムとサービスの付き合い方
 
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyoGitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発
 
ヤフーでの働き方と担当業務について
ヤフーでの働き方と担当業務についてヤフーでの働き方と担当業務について
ヤフーでの働き方と担当業務について
 
YJTC18 Keynote Shape the Future - through the Power of Technology
YJTC18 Keynote Shape the Future - through the Power of TechnologyYJTC18 Keynote Shape the Future - through the Power of Technology
YJTC18 Keynote Shape the Future - through the Power of Technology
 
YJTC18 B-7 Yahoo! JAPANアプリの作り方
YJTC18 B-7 Yahoo! JAPANアプリの作り方YJTC18 B-7 Yahoo! JAPANアプリの作り方
YJTC18 B-7 Yahoo! JAPANアプリの作り方
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
Yahoo!ニュースにおける開発手法の取り組み
Yahoo!ニュースにおける開発手法の取り組みYahoo!ニュースにおける開発手法の取り組み
Yahoo!ニュースにおける開発手法の取り組み
 
PayPayのスピード×ビジネス×デザイン
PayPayのスピード×ビジネス×デザインPayPayのスピード×ビジネス×デザイン
PayPayのスピード×ビジネス×デザイン
 
ドメイン駆動設計とマイクロサービス
ドメイン駆動設計とマイクロサービスドメイン駆動設計とマイクロサービス
ドメイン駆動設計とマイクロサービス
 
Go + Pulsar WebSocket APIの利用事例 #pulsarjp
Go + Pulsar WebSocket APIの利用事例 #pulsarjpGo + Pulsar WebSocket APIの利用事例 #pulsarjp
Go + Pulsar WebSocket APIの利用事例 #pulsarjp
 
GMOSSPの開発現場!
GMOSSPの開発現場!GMOSSPの開発現場!
GMOSSPの開発現場!
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
 
グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】 「グロバール×スマホゲーム」の勝ち方セミナー資料
グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】   「グロバール×スマホゲーム」の勝ち方セミナー資料グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】   「グロバール×スマホゲーム」の勝ち方セミナー資料
グローバルマネタイズ戦略【Metaps(メタップス) pte ltd.】 「グロバール×スマホゲーム」の勝ち方セミナー資料
 
ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)
ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)
ヤフーでHardeningを実施する意味 (#sec_kansai #sosaisec)
 
ヤフー新卒7年目のAndroidエンジニア
ヤフー新卒7年目のAndroidエンジニアヤフー新卒7年目のAndroidエンジニア
ヤフー新卒7年目のAndroidエンジニア
 
アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発
 
関連記事レコメンドエンジン@Yahoo! JAPAN
関連記事レコメンドエンジン@Yahoo! JAPAN関連記事レコメンドエンジン@Yahoo! JAPAN
関連記事レコメンドエンジン@Yahoo! JAPAN
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋
キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋
キャラクターを使ったユーザーコミュニケーション 〜けんさくとえんじんの秘密〜 #ヤフー名古屋
 

More from Saiki Iijima

ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9Saiki Iijima
 
How to create android's c to c EC APP !
How to create android's c to c EC APP !How to create android's c to c EC APP !
How to create android's c to c EC APP !Saiki Iijima
 
ああ、素晴らしきTDD ~アプリとエンジニアの心に安寧を~
ああ、素晴らしきTDD  ~アプリとエンジニアの心に安寧を~ああ、素晴らしきTDD  ~アプリとエンジニアの心に安寧を~
ああ、素晴らしきTDD ~アプリとエンジニアの心に安寧を~Saiki Iijima
 
Kotlin vs TypeScript
Kotlin vs TypeScriptKotlin vs TypeScript
Kotlin vs TypeScriptSaiki Iijima
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Saiki Iijima
 
ソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングSaiki Iijima
 

More from Saiki Iijima (7)

ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
ViewModel テスト難しすぎ問題 by saiki iijima in Android Test Night #9
 
How to create android's c to c EC APP !
How to create android's c to c EC APP !How to create android's c to c EC APP !
How to create android's c to c EC APP !
 
ああ、素晴らしきTDD ~アプリとエンジニアの心に安寧を~
ああ、素晴らしきTDD  ~アプリとエンジニアの心に安寧を~ああ、素晴らしきTDD  ~アプリとエンジニアの心に安寧を~
ああ、素晴らしきTDD ~アプリとエンジニアの心に安寧を~
 
Kotlin vs TypeScript
Kotlin vs TypeScriptKotlin vs TypeScript
Kotlin vs TypeScript
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
 
Aruaru short-cut
Aruaru short-cutAruaru short-cut
Aruaru short-cut
 
ソーシャルログイン5分クッキング
ソーシャルログイン5分クッキングソーシャルログイン5分クッキング
ソーシャルログイン5分クッキング
 

In-app messaging