Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AndroidO対応 / Souzoh Android Talk Kauru O

mochico
February 28, 2018

AndroidO対応 / Souzoh Android Talk Kauru O

AndroidO対応の実践についての知見です
https://mercari.connpass.com/event/78966/

mochico

February 28, 2018
Tweet

More Decks by mochico

Other Decks in Technology

Transcript

  1. ٕؕؐך"OESPJE0㼎䘔
    !NPDIJDP
    4PV[PI"OESPJE5BML

    View Slide

  2. "CPVUNF
    NPDIJDP[email protected]@
    "OESPJE+BWB,PUMJOTXJGU
    5FDICPPTUFS䪮遭剅Ⱙ
    ًٕٕؕٔؕؐ

    View Slide

  3. View Slide

  4. "OESPJE0דך㢌刿挿

    View Slide

  5. "OESPJE0דך㢌刿挿
    ˖ غحؙؚٓؐٝس㹋遤ⵖꣲ
    ˖ "OESPJEךغحؙؚٓؐٝس⡘縧䞔㜠ךⵖꣲ
    ˖ ،فٔءّ٦زؕحز
    ˖ ٗ؛٦ٕה㕂ꥷ⻉
    ˖ 陨デؐ؍ٝسؐ
    ˖ Ⰵ⸂הشؽ؜٦ءّٝ
    ˖ ؐؑـؿؓ٦ي荈⹛Ⰵ⸂
    ˖ ِ٦ؠ٦酡⸔堣腉
    ˖ طحزٙ٦ؙה)551 4
    䱸竲
    ˖ #MVFUPPUI
    ˖ ء٦يٖأז䱸竲
    ˖ إُؗٔذ؍
    ˖ فٓ؎غء٦
    ˖ 䯲䯝ׁ׸גְזְ⢽㢩ךؚٗ鎸ꐮ
    ˖ 鸬窃⯓فٗغ؎تךⵃ欽窟鎘ך㢌刿
    ˖ ؝ؙٖءّٝךⳢ椚
    ˖ ؒٝة٦فٓ؎ؤぢֽ"OESPJE

    View Slide

  6. "OESPJE0דך㢌刿挿
    ˖ ِ٦ؠ٦ؙؒألٔؒٝأ
    ˖ 鸐濼
    ˖ "VUPMMؿٖ٦يٙ٦ؙ
    ˖ ؾؙثٍ؎ٝؾؙثٌٍ٦س
    ˖ تؐٝٗ٦س〳腉זؿؓٝز
    ˖ 9.-ؿؓٝز
    ˖ 5FYU7JFXך荈⹛؟؎ؤ鏣㹀
    ˖ ،تفذ؍ـ،؎؝ٝ
    ˖ 葿ך盖椚
    ˖ 8FC7JFX"1*
    ˖ ؾٝ殅׭ׁ׸׋ءّ٦زؕحزהؐ؍آؑحز
    ˖ 剑㣐歗꬗،ألؙز嫰
    ˖ وٕثر؍أفٖ؎ך؟ه٦ز
    ˖ 窟♧ׁ׸׋ٖ؎،ؐزو٦آٝהػر؍ؚٝ
    ˖ ه؎ٝة䯲䯝
    ˖ ،فٔؕذ؞ٔ
    ˖ "OESPJE57ٓٝثٍ٦
    ˖ "OJNBUPS4FU
    ˖ Ⰵ⸂הشؽ؜٦ءّٝ
    ˖ ؗ٦ن٦سشؽ؜٦ءؙّٝٓأة
    ˖ رؿٕؓزךؿؓ٦ؕأ׾邌爙
    ˖ءأذي
    ˖ 倜鋉4USJDU.PEF%FUFDUPS
    ˖ ٍؗحءُر٦ة
    ˖ ؝ٝذٝخفٗغ؎تךل٦آؚٝ
    ˖ ؝ٝذٝخ刿倜ؙٔؒأز
    ˖ +PC4DIFEVMFSך何㊣
    ˖ ؕأةير٦ةأز،
    ˖ OE7JFX#Z*E
    縭せך㢌刿
    ˖ًر؍،ך䭁䓸
    ˖ 7PMVNF4IBQFS
    ˖ ؔ٦ر؍ؔؿؓ٦ؕأך䭁䓸
    ˖ ًر؍،ًزؙٔأ
    ˖ .FEJB1MBZFS
    ˖ .FEJB3FDPSEFS
    ˖ ؔ٦ر؍ؔⱄ欰؝ٝزٗ٦ٕ
    ˖ 何㊣ׁ׸׋ًر؍،ؿ؋؎ٕפך،ؙإأ
    ˖䱸竲
    ˖ 8J'J"XBSF
    ˖ #MVFUPPUI
    ˖ ؝ٝػصؔٝ畭劣ךل،鏣㹀
    ˖Ⱏ剣
    ˖ أو٦زⰟ剣
    ˖ أو٦زذؗأز鼅䫛
    ˖ِ٦ؠ٦酡⸔堣腉
    ˖ِ٦ؠ٦酡⸔堣腉نةٝ
    ˖杝甧׃׋갈ꆀ锃眍
    ˖䭷秘钠鏾乼⡲
    ְ׏םְ

    View Slide

  7. וַֿ׵㼎䘔ׅ׷
    ˖ 鸐濼/PUJDBUJPO$IBOOFMT
    ˖ غحؙؚٓؐٝس㹋遤ⵖꣲ#BDLHSPVOE
    &YFDVUJPO-JNJUT
    ˖ ،تفذ؍ـ،؎؝ٝ"EBQUJWF*DPOT

    View Slide

  8. /PUJDBUJPO$IBOOFMT

    View Slide

  9. View Slide

  10. /PUJDBUJPO$IBOOFM׾⡲䧭ׅ׷
    NotificationChannel channel = new NotificationChannel("notification_channel_id",
    "Notification Name",
    NotificationManager.IMPORTANCE_DEFAULT);
    channel.setDescription("Notification Description");
    notificationManager.createNotificationChannel(channel);

    View Slide

  11. /PUJDBUJPOח$IBOOFM׾鏣㹀ׅ׷
    new NotificationCompat.Builder(context, "notification_channel_id");

    View Slide

  12. ه؎ٝز
    ˖ /PUJDBUJPO$IBOOFM$IBOOFMؙٓأծ
    /PUJDBUJPO.BOBHFSDSFBUF/PUJDBUJPO$IBOOFMכ
    "1*-FWFMד鷄⸇ׁ׸׋ךד"1*-FWFM⟃♳ך㜥
    さך׫$IBOOFM׾⡲䧭ׅ׷
    ˖ TFU4FUUJOHT5FYUזו"1*-FWFMחך׫㶷㖈ׅ׷ً
    احس׾ⵃ欽ׅ׷㜥さכ/PUJDBUJPO$PNQBUָⵃ
    欽דֹזְךדⳢ椚׾ⴓֽ׷

    View Slide

  13. 'JSFCBTF$MPVE.FTTBHJOH

    ה

    /PUJDBUJPO$IBOOFM

    View Slide

  14. 'JSFCBTF/PUJDBUJPOTַ׵فحءُ鸐濼׾鷏׷

    View Slide

  15. 'JSFCBTF/PUJDBUJPOTךفحءُ鸐濼鏣㹀׾ׅ׷
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@drawable/ic_status" />
    android:name="com.google.firebase.messaging.default_notification_color"
    android:resource="@color/colorAccent" />
    android:name="com.google.firebase.messaging.default_notification_channel_id"
    android:value="@string/default_notification_channel_id" />

    View Slide

  16. 'JSFCBTF/PUJDBUJPOַ׵ך鸐濼ךⳢ椚כ✳珏겲֮׷
    ˖ 'PSFHSPVOE'JSFCBTF)UUQ1SPUPDPM
    ˖ #BDLHSPVOE
    ˖ 4FSWJDFָㄎל׸זְ
    ˖ 稢װַח/PUJDBUJPOךⵖ䖴ָדֹזְ

    View Slide

  17. 5JQT
    ˖ '$.穗歋ךفحءُכ$IBOOFMָזְ㜥さծ荈⹛涸ח
    չ.JTDFMMBOFPVTպהְֲثٍٝطָٕ鏣㹀ׁ׸׷
    ˖ $IBOOFM⡲䧭כꅾ醱׃גㄎל׸ג׮㉏겗זְָծ㶷㖈ثؑحؙ׾׃
    גծזְ㜥さך׫⡲䧭חׅ׷ךָ״ׁ׉ֲ
    刿倜欰䧭儗挿ך-PDBMF邌鎸ד㔿㹀ׁ׸ג׃תֲךדծ黝㹅
    DSFBUF/PUJDBUJPO$IBOOFMT׾ㄎ׿ד刿倜׃׋קֲָ״ְ
    ˖ $IBOOFMךせ⵸װ铡僇俑כDSFBUF$IBOOFM׾ㄎ׿׌הֹח鏣㹀ׁ׸
    ׷ךדծ-0$"-㢌刿ך#SPBE$BTU׾㹋鄲ׅץֹ
    ˖ %SPJE,BJHJ،فٔדכ㹋鄲ׁ׸גְ׷

    View Slide

  18. 剑鵚ֿ׿זֿהָ֮׶ת׃׋

    View Slide

  19. View Slide

  20. ⡦ָ饯ֹגְ׋ךַ
    ˖ 'JSFCBTF/PUJDBUJPOTַ׵鷏׏׋فحءُד
    ˖ SFCBTFNFTTBHJOHMJCSBSZָד
    ˖ 「ֽ《׷畭劣ך04ָ0SFPד
    ˖ ،فָٔ#BDLHSPVOEח֮׷הֹ
    ˖ 鸐濼،؎؝ָٝ姻䌢ח邌爙ׁ׸זְ

    View Slide

  21. View Slide

  22. 㔐鼘倯岀
    ˖ 䌢ח)UUQ1SPUPDPM穗歋דفحءُ鸐濼׾鷏׷
    ˖ SFCBTFNFTTBHJOH׾تؚٖؐٝ٦سׅ׷
    ˖ 4VQQPSU-JCSBSZ׮تؚٖؐٝ٦س׃זֽ׸לז
    ׵זֻז׷٥٥٥
    ˖ ،حفر٦ز׾爵׷

    View Slide

  23. /PUJDBUJPO㼎䘔תה׭
    ˖ /PUJDBJUPO$IBOOFM㼎䘔כ⵸䖓ך罋䣁ָ䗳銲
    ˖ SFCBTFOPUJDBUJPOٓ؎ـٓٔך،حفر٦ز׾
    ׫׿זד爵׶ת׃׳ֲ

    View Slide

  24. #BDLHSPVOE&YFDVUJPO-JNJUT

    View Slide

  25. #BDLHSPVOE&YFDVUJPO-JNJUT
    ˖ ،فָٔ#BDLHSPVOEח֮׷הֹ4FSWJDFך㹋遤ָⵖ
    ꣲׁ׸׷

    View Slide

  26. #BDLHSPVOE&YFDVUJPO-JNJUT
    ˖ ،فָٔ#BDLHSPVOEח֮׷הֹ4FSWJDFך㹋遤ָⵖ
    ꣲׁ׸׷
    ˖ 'PSFHSPVOE4FSWJDFה׃ג㹋遤ׅ׷
    ˖ +PC*OUFOU4FSWJDF׾ⵃ欽ׅ׷
    ˖ 4FSWJDFד㹋遤ׅ׷䗳銲ָ֮׷ַ׾鋅湫ׅ

    View Slide

  27. +PC*OUFOU4FSWJDF
    ˖ FORVFVFXPSLח״׏ג+PC4DIFEVMFS׾ⵃ欽׃ג
    غحؙؚٓؐٝس㹋遤׾遤ֲ

    View Slide

  28. #BDLHSPVOE&YFDVUJPO-JNJUTחאְג鑫׃ֻכ

    View Slide

  29. "EBQUJWF*DPOT

    View Slide

  30. "EBQUJWF*DPOT

    View Slide

  31. "EBQUJWF*DPOT
    ˖ UBSHFU׾חׅ׷ה⟃꣬ך畭劣דכ،؎؝ٝח胜
    兝ָאֻ
    ˖ ׉ך㜥さך胜兝ך䕎כ畭劣如痥
    ˖ 9דכӴծ1דכ㔊錬׌׏׋
    ˖ *NBHF"TTFU5PPMד⡲䧭דֹ׷

    View Slide

  32. View Slide

  33. View Slide

  34. ָֿֿ䗍㦩׌״"EBQUJWF*DPOT
    ˖ UBSHFU׾חׅ׷ה⟃꣬ך畭劣דכ胜兝אֹ،؎
    ؝ٝ⟃㢩ך鼅䫛肇ָזְ
    ˖ ⟃꣬ך畭劣דכ畭劣ח״׏ג胜兝ך䕎ָ㢌׻׷
    ˖ *NBHF"TTFU5PPMד⡘縧ך锃侭ָדֹזְ

    View Slide

  35. 5IBOL:PV

    View Slide

  36. ⿫罋
    "OESPJE]"OESPJE%FWFMPQFSTIUUQTEFWFMPQFSBOESPJEDPNBCPVUWFSTJPOTPSFPJOEFYIUNM
    "OESPJE0SFP鸐濼㼎䘔ثؑحؙٔأز2JJUBIUUQTRJJUBDPNNTUTTLJUFNTFCCFDBGBB
    'JSFCBTF$MPVE.FTTBHJOHך)551فٗز؝ٕ]'JSFCBTFIUUQTSFCBTFHPPHMFDPNEPDTDMPVE
    NFTTBHJOHIUUQTFSWFSSFG
    8IFOBQQJOCBDLHSPVOEJDPOJONFUBEBEBXIJUFv*TTVFvSFCBTFRVJDLTUBSUBOESPJEIUUQT
    HJUIVCDPNSFCBTFRVJDLTUBSUBOESPJEJTTVFT
    'JSFCBTF4%,׌ה،فָٔCBDLHSPVOEך儗ח'JSFCBTF/PUJDBUJPOד鷏׏׋1VTI׾「ֽ《׷ה鸐濼،؎
    ؝ֶַָٝ׃ֻז׷*NLOPXMFEHFXPSLFSIUUQIBDLJUJSPOIBUFOBCMPHDPNFOUSZ
    $傈湡
    匌ׇB]5FDI#PPTUFSIUUQTUFDICPPTUFSHJUIVCJPDFEHF
    %FTJHOJOH"EBQUJWF*DPOTˊ(PPHMF%FTJHOˊ.FEJVNIUUQTNFEJVNDPNHPPHMFEFTJHOEFTJHOJOH
    BEBQUJWFJDPOTBGD
    OJDLCVUDIFS"EBQUJWF*DPO1MBZHSPVOE"O"OESPJEBQQGPSFYQFSJNFOUJOHXJUI"EBQUJWF*DPOTIUUQT
    HJUIVCDPNOJDLCVUDIFS"EBQUJWF*DPO1MBZHSPVOE

    View Slide