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

Android Bazaar and Conference 2021 Spring

Android Bazaar and Conference 2021 Spring

2021年6月21日に開催された「Android Bazaar and Conference 2021 Spring」の発表資料です。

発表動画
https://www.youtube.com/watch?v=DfJ5CNdNR3k&t=1715s

Ece52fe9ce913851256726020707febd?s=128

ARIYAMA Keiji

June 20, 2021
Tweet

Transcript

  1. ༗ࢁɹܓೋ  "OESPJE#B[BBSBOE$POGFSFODF4QSJOH  ઀৮֬ೝ"1* 
 &YQPTVSF8JOEPXNPEF΁ͷରԠʹ ޲͚ͨݕ౼ʹ͍ͭͯ

  2. ໨࣍ w ͸͡Ίʹ w &YQPTVSF/PUJ fi DBUJPOT"1*ͱ͸ w ઀৮֬ೝΞϓϦʮ$0$0"ʯͷ&YQPTVSF8JOEPXNPEFରԠ w

    9BNBSJO޲͚&/"1*ϥΠϒϥϦ$BQQVDDJOP w &YQPTVSF8JOEPXNPEFҠߦʹ͋ͨͬͯͷ஫ҙ  https://speakerdeck.com/keiji/android-bazaar-and-conference-2021-spring
  3. C-LIS CO., LTD.  ༗ࢁܓೋʢ"3*:".",FJKJʣ $-*4$0 -5% Photo : Koji

    MORIGUCHI (MORIGCHOWDER) "OESPJEΞϓϦ։ൃνϣοτσΩϧ ػցֶश͸ͪΐͬͱ΍ͬͨ͜ͱ͋Γ·͢ ઀৮֬ೝΞϓϦ$0$0"044ίϥϘϨʔλʔ https://speakerdeck.com/keiji/android-bazaar-and-conference-2021-spring
  4. ໔੹ࣄ߲%JTDMBJNFS  ຊࢿྉͷ಺༰͸ɺ༗ࢁܓೋͷݸਓͷݟղͰ͋Γɺ 
 ॴଐ·ͨ͸ؔ༩͢Δ૊৫Λ୅ද͢Δ΋ͷͰ͸͋Γ·ͤΜɻ https://speakerdeck.com/keiji/android-bazaar-and-conference-2021-spring

  5. αϙʔτ4VQQPSU  https://blog.keiji.dev/2021/06/abc2021s ຊࢿྉͷ಺༰ʹؔ͢Δ͓໰͍߹Θͤɾαϙʔτ͸ɺ 
 ࣍ͷαΠτͰ͝Ҋ಺͠·͢ɻ

  6.  ઀৮֬ೝ"1*ͱ͸

  7. &YQPTVSF/PUJ fi DBUJPOT"1* &YQPTVSF/PUJ fi DBUJPOTʢ઀৮֬ೝʣ"1*͸ɺεϚʔτϑΥϯͷ#MVFUPPUIΛ ར༻ͯ͠ɺਓͱਓ͕઀৮ͨ͜͠ͱΛݕ஌ɺه࿥͢ΔͨΊͷ࢓૊Έɻ (PPHMFͱ"QQMF͕ڞಉͰ։ൃ͍ͯ͠Δ͜ͱ͔Βɺ("&/ʢ(PPHMF"QQMF &YQPTVSF/PUJ fi

    DBUJPOʣͱݺ͹ΕΔ͜ͱ΋͋Δɻ &YQPTVSF/PUJ fi DBUJPOT"1*ʢ&/"1*ʣΛ࢖ͬͨΞϓϦΛʮ઀৮֬ೝΞϓϦʯ ͱݴ͏ɻ ઀৮֬ೝΞϓϦͷར༻ऀ͸ɺར༻ऀ͕৽ܕίϩφ΢Πϧεʢ$07*%ʣײછ ঱ͷཅੑ͕֬ఆͨ͠ͱ͖ʹɺҰఆظؒ಺ʢײછྗΛ࣋ͭͱ͞ΕΔظؒʣʹ઀৮͠ ͨଞͷ઀৮֬ೝΞϓϦͷར༻ऀʹಗ໊Ͱ௨஌Ͱ͖Δɻ 
  8. ઀৮Λه࿥͢Δ࢓૊Έ &/"1*͸ɺಈ࡞͢Δ୺຤ͷ#MVFUPPUIΛ࢖ͬͯ৘ใΛൃ৴ɺ·ͨ͸ଞͷ୺຤͕ ൃ৴ͨ͠৘ใΛड৴ͯ͠ه࿥͢Δɻ 

  9. ൃ৴͞Ε͍ͯΔ৘ใ 

  10. 4FSWJDF%BUBηΫγϣϯ  17 16 6f fd 29 ac 0d 91

    7a 59 97 2d 63 cd b2 cd b5 89 17 40 35 f6 0e b9 Rolling Proximity Identi fi er 16 bytes Encrypted 
 Metadata 4 bytes Length 1 byte Type 1 byte UUID 1 byte 23 0xfd6f 16 https://covid19-static.cdn-apple.com/applications/covid19/current/static/contact-tracing/pdf/ExposureNoti fi cation-BluetoothSpeci fi cationv1.2.pdf
  11. 3PMMJOH1SPYJNJUZ*EFOUJ fi FSʢ31*ʣ  17 16 6f fd 29 ac

    0d 91 7a 59 97 2d 63 cd b2 cd b5 89 17 40 35 f6 0e b9 Rolling Proximity Identi fi er 16 bytes Encrypted fi cation-BluetoothSpeci fi cationv1.2.pdf
  12. 3PMMJOH1SPYJNJUZ*EFOUJ fi FS͸มԽ͢Δ 

  13. 31*͸5&,͔Βੜ੒͞ΕΔ 5FNQPSBSZ&YQPTVSF,FZʢ5&,ʣ Ұఆ࣌ؒͰมߋ͞ΕΔCZUFͷϥϯμϜͳ஋ɻݱࡏͷ࢓༷Ͱ͸࣌ؒʹҰճม ߋ͞ΕΔͨΊɺʮ೔࣍ݤʯͱݺ͹ΕΔ͜ͱ΋͋Δɻ 5&,ͷ༗ޮظؒ i ʹੜ੒͞ΕΔ31*͸ɺ࣍ͷࣜͰද͞ΕΔɻ  TEK →

    RPIͷܭࢉ͸͔ΜͨΜ RPI → TEKΛܭࢉ͢Δͷ͸Ή͔͍ͣ͠ https://covid19-static.cdn-apple.com/applications/covid19/current/static/contact-tracing/pdf/ExposureNoti fi cation-CryptographySpeci fi cationv1.2.pdf RPIKi ← HKDF(teki, NULL, UTF8(“EN-RPIK”), 16) RPIi,j ← AES128(RPIKi, PaddedDataj) ظؒ j ͷ৘ใؚ͕·ΕΔ
  14. ཅੑऀొ࿥ ཅੑͱ൑ఆ͞Εͨར༻ऀ͕઀৮֬ೝΞϓϦͰཅੑऀొ࿥Λߦ͏ͱɺ઀৮֬ೝΞ ϓϦ͸ɺ&/"1*ʹΞΫηεͯ͠୺຤ʹه࿥͞Ε͍ͯΔ5&,Λऔಘͯ͠ɺײછྗ ͕͋Δͱ͞ΕΔظؒͷ΋ͷΛ਍அΩʔαʔόʔʹૹ৴ʢΞοϓϩʔυʣ͢Δɻ ˞୺຤ʹอଘ͞Ε͍ͯΔ5&,͸࠷େ೔෼ɻ  ਍அΩʔαʔόʔ ઀৮֬ೝΞϓϦ TEK TEK

    TEK TEK TEK TEK
  15. ਍அΩʔΛ഑෍ ਍அΩʔαʔόʔ͸ཅੑऀͷ5&,Λ·ͱΊͯిࢠॺ໊Λͯ͠ʮ਍அΩʔʢ%JBHOPTJT ,FZʣʯΛ࡞੒ɺެ։͢Δɻ ઀৮֬ೝΞϓϦ͸ɺҰఆ࣌ؒ͝ͱʹ਍அΩʔαʔόʔʹ਍அΩʔΛϦΫΤετɾμ΢ϯ ϩʔυ͢Δɻ  ਍அΩʔαʔόʔ ઀৮֬ೝΞϓϦ TEK TEK

    TEK TEK TEK TEK ిࢠॺ໊ ਍அΩʔ ઀৮֬ೝΞϓϦ ઀৮֬ೝΞϓϦ
  16. ઀৮֬ೝ ઀৮֬ೝΞϓϦ͸ɺऔಘͨ͠਍அΩʔΛ઀৮ͱΈͳ͢৚݅ͱͱ΋ʹ&/"1*ʹೖ ྗ͢Δɻ &/"1*͸ɺ਍அΩʔʹؚ·ΕΔ5&,͔Βɺظؒ಺ʹଘࡏ͢Δ31*Λܭࢉͯ͠ɺ ઃఆ͞Εͨ৚݅ʹ߹͏઀৮͕ه࿥͞Ε͍ͯΔ͔Λ֬ೝ͢Δɻ ৚݅ʹ߹͏઀৮͕ه࿥͞Ε͍ͯΕ͹ʮ઀৮͋Γʯͱͯ͠઀৮֬ೝΞϓϦʹ݁Ռ Λฦ͢ɻ ઀৮֬ೝΞϓϦ͸ɺཅੑऀͱͷೱް઀৮ͱͯ͠ར༻ऀʹදࣔ͢Δɻ 

  17. "exposure_summary": { "AttenuationDurationsInMinutes": [ 1800, 480, 0 ], "DaysSinceLastExposure": 0,

    "MatchedKeyCount": 2, "MaximumRiskScore": 255, "SummationRiskScore": 54560 }, …  &YQPTVSF4VNNBSZ 
 &YQPTVSF*OGPSNBUJPO https://github.com/keiji/chino/wiki/Sample-ExposureData-iOS-(V1) "exposure_informations": [ { "AttenuationDurationsInMinutes": [ 1436, 0, 0 ], "AttenuationValue": 26, "DateMillisSinceEpoch": 1622851200000, "Duration": 30.0, "TotalRiskScore": 256, "TransmissionRiskLevel": 4 }, … https://github.com/keiji/chino/wiki/Sample-ExposureData-Android-(Legacy-v1)
  18. 

  19.  #MVFUPPUIͷి೾ڧ౓΍ड৴ײ౓ ୺຤ؒͷࠩҟ

  20. &ODSZQUFE.FUBEBUB  17 16 6f fd 29 ac 0d 91

    7a 59 97 2d 63 cd b2 cd b5 89 17 40 35 f6 0e b9 Rolling Proximity Identi 
 Metadata 4 bytes Length fi cation-BluetoothSpeci fi cationv1.2.pdf
  21. &ODSZQUFE.FUBEBUB  ʠ"TTPDJBUFE&ODSZQUFE.FUBEBUB "&. Š" QSJWBDZQSFTFSWJOHFODSZQUFENFUBEBUBUIBUTIBMM CFVTFEUPDBSSZQSPUPDPMWFSTJPOJOHBOEUSBOTNJU 5Y QPXFSGPSCFUUFSEJTUBODFBQQSPYJNBUJPO 5IF"TTPDJBUFE&ODSZQUFE.FUBEBUBDIBOHFT

    BCPVUFWFSZNJOVUFT BUUIFTBNFDBEFODFBT UIF3PMMJOH1SPYJNJUZ*EFOUJ fi FS UPQSFWFOUXJSFMFTT USBDLJOHPGUIFEFWJDFʡ xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxx xx xx Major Minor 35 f6 0e b9 Reserved 1 byte Transmit power level 1 byte Versioning 1 byte LSB fi rst Reserved 1 byte Decrypt AES-CTR Reserved https://covid19-static.cdn-apple.com/applications/covid19/current/static/contact-tracing/pdf/ExposureNoti fi cation-BluetoothSpeci fi cationv1.2.pdf https://covid19-static.cdn-apple.com/applications/covid19/current/static/contact-tracing/pdf/ExposureNoti fi cation-CryptographySpeci fi cationv1.2.pdf
  22. 5SBOTNJUQPXFSMFWFMʢ59@QPXFSʣͱ344*DPSSFDUJPO σόΠε͝ͱͷి೾ಛੑʹΑΓڑ཭ͷܭଌޡࠩΛվળ͢Δ࢓૊Έɻ ൃ৴ଆσόΠε͸ɺൃ৴͢Δ৘ใʹɺ͋Β͔͡Ίܭଌͯ͋͠Δʮૹ৴ి೾ڧ౓ ͷิਖ਼஋ʢ5SBOTNJTTJPOQPXFSMFWFMʣʯΛ෇Ճ͢Δɻ ·ͨड৴ଆσόΠε΋ɺ৘ใΛड৴ͨ͠ࡍʹ344*ʹ͍ͭͯܭଌࡁΈͷิਖ਼஋Λ ద༻͢Δ͜ͱͰɺڑ཭ͷܭଌޡࠩΛվળ͢Δɻ ֤σόΠεͷิਖ਼஋͸ެ։͞Ε͍ͯΔɻ IUUQTEFWFMPQFSTHPPHMFDPNBOESPJEFYQPTVSFOPUJ fi DBUJPOT

    fi MFTFODBMJCSBUJPODTW (PPHMF͸ɺ୺຤ϝʔΧʔʹิਖ਼஋ͷܭଌͱఏڙΛݺͼ͔͚͍ͯΔɻ  https://developers.google.com/android/exposure-noti fi cations/ble-attenuation-procedure
  23.  &/"1*ͷόʔδϣϯ

  24. &/"1*ͷΞοϓσʔτ &/"1*͸ɺ(PPHMFͱ"QQMF͕ڞಉͰ։ൃ͍ͯ͠Δɻ(PPHMFͱ"QQMF͸&/ "1*ΛΞοϓσʔτ͢Δ͜ͱ͕͋Δɻ Ξοϓσʔτ͸(PPHMFͱ"QQMF͕ߦ͍ɺ઀৮֬ೝΞϓϦଆ͔Β͸੍ޚ͸Ͱ͖ͳ ͍ɻ (PPHMFͱ"QQMFͰΞοϓσʔτઓུ͕ҟͳΔɻ 

  25. &/"1*ͷΞοϓσʔτઓུ (PPHMFʢ"OESPJEʣ "1*͸ɺϓϥοτϑΥʔϜ͔Β෼཭͞Εͨ(PPHMF.PCJMF4FSWJDFTʢ(.4ʣͷ όʔδϣϯʹඥ෇͘ɻ"OESPJEͷόʔδϣϯʹґଘ͠ͳ͍ "QQMFʢJ04ʣ J04ͷόʔδϣϯʹඥ෇͘ɻݹ͍όʔδϣϯͷJ04Ͱ͸ɺͦͷ࣌఺ͰରԠ͍ͯ͠ Δ"1*͔͠࢖͑ͳ͍ɻ 

  26. όʔδϣϯͷมભ "OESPJE v1.5 earlier v1.5 - July 2020 v1.6 -

    August 2020 v1.7 - September 2020 v1.7.2 - October 2020 v1.8 - January 2021  J04 iOS 13.5 - May 2020 iOS 13.6 - July 2020 iOS 13.7 - September 2020 iOS 12.5 - December 2020 iOS 14.4 - January 2021
  27. J04 iOS 13.5 - May 2020 iOS 13.6 - July

    2020 iOS 13.7 - September 2020 iOS 12.5 - December 2020 iOS 14.4 - January 2021 "OESPJE v1.5 earlier v1.5 - July 2020 v1.6 - August 2020 v1.7 - September 2020 v1.7.2 - October 2020 v1.8 - January 2021 ೥݄ͷΞοϓσʔτͰ&YQPTVSF8JOEPX͕ಋೖ  ExposureSummary 
 ExposureInformation DailySummary ExposureWindow
  28. "exposure_summary": { "AttenuationDurationsInMinutes": [ 1800, 480, 0 ], "DaysSinceLastExposure": 0,

    "MatchedKeyCount": 2, "MaximumRiskScore": 255, "SummationRiskScore": 54560 }, …  &YQPTVSF4VNNBSZ 
 &YQPTVSF*OGPSNBUJPO https://github.com/keiji/chino/wiki/Sample-ExposureData-iOS-(V1) "exposure_informations": [ { "AttenuationDurationsInMinutes": [ 1436, 0, 0 ], "AttenuationValue": 26, "DateMillisSinceEpoch": 1622851200000, "Duration": 30.0, "TotalRiskScore": 256, "TransmissionRiskLevel": 4 }, … https://github.com/keiji/chino/wiki/Sample-ExposureData-Android-(Legacy-v1)
  29. "daily_summaries": [ { "DaysSinceEpoch": 1622937600000, "DaySummary": { "MaximumScore": 1860.0, "ScoreSum":

    51660.0, "WeightedDurationSum": 51660.0 }, "ConfirmedClinicalDiagnosisSummary": null, "ConfirmedTestSummary": { "MaximumScore": 1860.0, "ScoreSum": 51660.0, "WeightedDurationSum": 51660.0 }, "RecursiveSummary": null, "SelfReportedSummary": null },  %BJMZ4VNNBSZ 
 &YQPTVSF8JOEPX "exposure_windows": [ { "CalibrationConfidence": 3, "DateMillisSinceEpoch": 1622937600000, "Infectiousness": 1, "ReportType": 1, "ScanInstances": [ { "MinAttenuationDb": 24, "SecondsSinceLastScan": 300, "TypicalAttenuationDb": 25 }, { "MinAttenuationDb": 24, "SecondsSinceLastScan": 240, "TypicalAttenuationDb": 25 }, … https://github.com/keiji/chino/wiki/Sample-ExposureData-iOS-(V2) https://github.com/keiji/chino/wiki/Sample-ExposureData-Android-(Exposure-Window-mode) ؒҧ͍
  30. J04 iOS 13.5 - May 2020 iOS 13.6 - July

    2020 iOS 13.7 - September 2020 iOS 12.5 - December 2020 iOS 14.4 - January 2021 "OESPJE v1.5 earlier v1.5 - July 2020 v1.6 - August 2020 v1.7 - September 2020 v1.7.2 - October 2020 v1.8 - January 2021 ϓϥοτϑΥʔϜͰ"1*ͷݺͼํ͕ҟͳΔ  Version 2 Version 1 ExposureWindow mode Legacy v1 mode
  31.  &/"1*Λ࢖ͬͨ 
 ઀৮֬ೝΞϓϦͷ։ൃ

  32. &/"1*ͷอޢ ઀৮֬ೝΞϓϦ ࣄલʹ(PPHMF"QQMF͔ΒೝূΛड͚ͨূ໌ॻͰॺ໊౳Λͨ͠ΞϓϦέʔγϣ ϯɾόΠφϦʹݶఆͯ͠ɺ&/"1*΁ͷΞΫηε͕ڐՄ͞ΕΔɻ  ਍அΩʔαʔόʔ ਍அΩʔ͸ɺ(PPHMF"QQMFʹొ࿥͞Εͨূ໌ॻͰॺ໊͞Ε͍ͯΔඞཁ͕͋Δ ઀৮֬ೝΞϓϦ͕ɺ&/"1*ʹ઀৮֬ೝΛϦΫΤετ͢Δͱɺ&/"1*͸਍அ Ωʔͷॺ໊Λ֬ೝͯ͠ɺݕূͰ͖ͨ৔߹ͷΈ઀৮֬ೝ͕ߦΘΕΔɻ

  33.  &/"1*ͷσόοά

  34. "OESPJE (PPHMF͕ϗϫΠτϦετʹొ࿥ͨ͠(PPHMFΞΧ΢ϯτΛϓϥΠϚϦΞΧ΢ϯ τͯ͠αΠϯΠϯͨ͠୺຤͕ඞཁɻ 

  35. σόοάઃఆ"OESPJE 

  36. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

    <plist version="1.0"> <dict> <key>com.apple.developer.exposure-notification</key> <true/> <key>com.apple.developer.exposure-notification-test</key> <true/> <key>com.apple.developer.exposure-notification-test-skip-file-verification</key> <true/> </dict> </plist> J04 "QQMF͔ΒೝূΛड͚ͨ։ൃऀΞΧ΢ϯτͰൃߦͨ͠ಛผͳϓϩϏδϣχϯά ϓϩϑΝΠϧΛ࢖͏͜ͱͰσόοάϞʔυΛ༗ޮʹͨ͠ΞϓϦΛΠϯετʔϧ Ͱ͖Δɻ  Entitlements.plist
  37.  ઀৮֬ೝΞϓϦʮ$0$0"ʯͷ 
 &YQPTVSF8JOEPXNPEFରԠ

  38. $0$0"͸9BNBSJOͰͰ͖͍ͯΔ ʠ9BNBSJO͸ɺ/&5Λ࢖༻ͯ͠ɺJ04ɺ"OESPJEɺ8JOEPXT޲͚ͷ࠷৽Ͱ ߴੑೳͳΞϓϦέʔγϣϯΛϏϧυ͢ΔͨΊͷΦʔϓϯιʔεͷϓϥοτ ϑΥʔϜͰ͢ɻʡ https://docs.microsoft.com/ja-jp/xamarin/get-started/what-is-xamarin 7JTVBM4UVEJPͰ։ൃ ࢖༻ݴޠ͸$ ϥΠϒϥϦɾύοέʔδ͸/V(FUΛ௨ͯ͡ར༻ 

  39. 9BNBSJO&YQPTVSF/PUJ fi DBUJPO 9BNBSJOެࣜͷ&/"1*༻ͷϥΠϒϥϦɻ $0$0"ʢ೔ຊʣͱ4NJUUFTUPQQʢσϯϚʔΫɾϊϧ΢Σʔʣ͕࠾༻͍ͯ͠ Δɻ $0$0" https://github.com/cocoa-mhlw/cocoa 4NJUUFTUPQ https://github.com/folkehelseinstituttet/Fhi.Smittestopp.App

     https://github.com/xamarin/XamarinComponents/tree/main/XPlat/ExposureNoti fi cation
  40. &YQPTVSF8JOEPXNPEFରԠঢ়گ 9BNBSJO&YQPTVSF/PUJ fi DBUJPO͸ɺ೥݄೔࣌఺Ͱ &YQPTVSF8JOEPXNPEFʹରԠ͍ͯ͠ͳ͍ɻ ೥݄೔͔Β1VMM3FRVFTUʮ*NQMFNFOUUIFTIBSFE"1*GPSWʯͰ ࡞ۀதʢEFWBQJWϒϥϯνʣɻ https://github.com/xamarin/XamarinComponents/pull/955 ࠷ऴߋ৽͸݄೔ͱϲ݄Ҏ্ɺදͩͬͨಈ͖͕ͳ͍ঢ়گɻ 

  41. 4NJUUF4UPQQ͸&YQPTVSF8JOEPXNPEFʹରԠ /V(FUύοέʔδʢ9BNBSJO&YQPTVSF/PUJ fi DBUJPOBMQIBOVQLHʣ ΛϩʔΧϧʹ͍࣋ͬͯΔɻ https://github.com/folkehelseinstituttet/Fhi.Smittestopp.App/tree/dev/NDB.Covid19/ TempNugetFeed ΋ͱ΋ͱόοΫάϥ΢ϯυॲཧΛಠ࣮ࣗ૷͢ΔͳͲɺ 9BNBSJO&YQPTVSF/PUJ fi

    DBUJPOʹґଘ͠ͳ͍࢓૊Έʹ͍ͯͨ͠ɻ https://github.com/folkehelseinstituttet/Fhi.Smittestopp.App/blob/dev/NDB.Covid19/ NDB.Covid19.iOS/Utils/BackgroundServiceHandler.cs  https://github.com/folkehelseinstituttet/Fhi.Smittestopp.App/issues/223
  42.  9BNBSJO޲͚&/"1*ϥΠϒϥϦ $BQQVDDJOP

  43. $BQQVDDJOPʢΧϓνʔϊʣͱ͸ Φʔϓϯιʔεͷ9BNBSJO޲͚&/"1*ϥΠϒϥϦɻ 9BNBSJO&YQPTVSF/PUJ fi DBUJPOͷΑ͏ʹόοΫάϥ΢ϯυॲཧΛϋϯυϦϯ ά͠ͳ͍ɻ ϓϥοτϑΥʔϜʢ"OESPJEJ04ʣͱ&/"1*ͷόʔδϣϯʢ-FHBDZW &YQPTVSF8JOEPXNPEFʣͦΕͧΕઃఆ߲໨Λಠཱ͍ͯ͠Δɻ https://github.com/keiji/chino/wiki/Default-ExposureCon fi

    guration "OESPJEJ04ͷബ͍ϥούʔͱͯ͠ಈ࡞͢Δ͜ͱΛ໨ࢦ͍ͯ͠Δɻ .*5ϥΠηϯεɻ  https://github.com/keiji/chino
  44. 4BNQMFΞϓϦʢ"OESPJE J04ʣ  Sample.Android Sample.iOS

  45. ରԠ͍ͯ͠Δ"1* &/"1*ͷ༗ޮɾແޮ੾Γ׵͑ 5&,ཤྺͷऔಘ ઀৮֬ೝ -FHBDZ7 &YQPTVSF8JOEPXNPEF 1SFBVUIPSJ[F"1* 

  46.  ௨ৗͷ5&,औಘ

  47.  1SFBVUIPSJ[F"1*

  48. <&YQPTVSF/PUJ fi DBUJPO>4VQQPSU1SF"VUIPSJ[BUJPO 9BNBSJOͷ&YQPTVSF/PUJ fi DBUJPO#JOEJOHଆͷରԠ͕ඞཁɻ 1VMM3FRVFTU͸݄೔ʹఏग़ࡁΈɻ  https://github.com/xamarin/XamarinComponents/pull/1133

  49. 9BNBSJO'PSNTʢ1SJTNʣ࣮૷αϯϓϧ  https://github.com/keiji/chino.prism

  50. ݱঢ়ͷ՝୊  https://github.com/keiji/chino/issues

  51.  &YQPTVSF8JOEPXNPEFҠߦʹ 
 ͋ͨͬͯͷ஫ҙ

  52. ϩʔΧϧ௨஌ͷ࣮૷ʢJ04ʣ  ઀৮৘ใΛऔಘ͢Δͱ͖ʹ௨஌͕දࣔ͞Εͳ͍ ˠɹϩʔΧϧ௨஌Λ࣮૷͢Δඞཁ͕͋Δ

  53. ઀৮൑ఆͷઃఆ -FHBDZWͷઃఆ͸࠶ར༻Ͱ͖ͳ͍ͷͰɺ࠶౓ઃఆΛઃܭ͠௚͢ඞཁ͕͋Δɻ  https://developer.apple.com/documentation/exposurenoti fi cation/enexposurecon fi guration ը૾͸Apple DeveloperΑΓҾ༻

  54.  "UUFOVBUJPO%VSBUJPO5ISFTIPME "apple_exposure_config_v2": { "attenuation_duration_thresholds": [ 50, 70, 90 ],

    https://developer.apple.com/documentation/exposurenoti fi cation/enexposurecon fi guration ը૾͸Apple DeveloperΑΓҾ༻
  55. "OESPJEͱJ04ͰઃఆՄೳͳ஋ͷൣғ͕ҧ͏ ஋ͷൣғ͕ҟͳΔ߲໨͕͋ΔͷͰ஫ҙ͕ඞཁɻ  "infectiousness_weights": { "High": 1.0, "Standard": 1.0, "None":

    1.0 }, "report_type_weights": { "Con fi rmedClinicalDiagnosis": 1.0, "Con fi rmedTest": 1.0, "SelfReport": 1.0, "Recursive": 1.0, "Revoked": 1.0, "Unknown": 1.0 } "infectiousness_high_weight": 100.0, "infectiousness_standard_weight": 100.0, "report_type_con fi rmed_clinical_diagnosis_weight": 100.0, "report_type_con fi rmed_test_weight": 100.0, "report_type_recursive_weight": 100.0, "report_type_self_reported_weight": 100.0, 100 - 250 (iOS) 1.0 - 2.5 (Android)
  56. "OESPJEͱJ04ͰઃఆՄೳͳ஋ͷൣғ͕ҧ͏ ஋ͷൣғ͕ҟͳΔ߲໨͕͋ΔͷͰ஫ҙ͕ඞཁɻ  "report_type_con fi rmed_clinical_diagnosis_weight": 99.0, "report_type_con fi rmed_test_weight":

    250.0, "report_type_recursive_weight": 251.0, "report_type_self_reported_weight": 1.0, 100 - 250 (iOS) RpTyW { CTest 250, CClin 99, SelfR 1, Recurs 251 }
  57. 1MBUGPSN͝ͱͷσʔλͷදݱͷҧ͍  https://github.com/keiji/chino/issues/34

  58.  https://github.com/keiji/chino/issues/34

  59. "daily_summaries": [ { "DaysSinceEpoch": 1622937600000, "DaySummary": { "MaximumScore": 1860.0, "ScoreSum":

    51660.0, "WeightedDurationSum": 51660.0 }, "ConfirmedClinicalDiagnosisSummary": null, "ConfirmedTestSummary": { "MaximumScore": 1860.0, "ScoreSum": 51660.0, "WeightedDurationSum": 51660.0 }, "RecursiveSummary": null, "SelfReportedSummary": null },  %BJMZ4VNNBSZ 
 &YQPTVSF8JOEPX "exposure_windows": [ { "CalibrationConfidence": 3, "DateMillisSinceEpoch": 1622937600000, "Infectiousness": 1, "ReportType": 1, "ScanInstances": [ { "MinAttenuationDb": 24, "SecondsSinceLastScan": 300, "TypicalAttenuationDb": 25 }, { "MinAttenuationDb": 24, "SecondsSinceLastScan": 240, "TypicalAttenuationDb": 25 }, … https://github.com/keiji/chino/wiki/Sample-ExposureData-iOS-(V2) https://github.com/keiji/chino/wiki/Sample-ExposureData-Android-(Exposure-Window-mode) ؒҧ͍
  60. ·ͱΊ &YQPTVSF8JOEPXNPEF͸ɺ&/"1*͔ΒಘΒΕΔ઀৮৘ใͷܗ͕ࣜมΘΔͩ ͚Ͱ͸ͳ͍ɻ ΞϓϦͦͷ΋ͷͷڍಈʢ௨஌λΠϛϯάͳͲʣ΋ௐ੔͢Δඞཁ͕͋Δɻ ઀৮൑ఆͷઃఆ஋Λ࠶ઃܭ͢Δඞཁ͕͋Δɻ ϓϥοτϑΥʔϜ͝ͱʹҟͳΔઃఆ஋ɾσʔλදݱ͕͋Δ͜ͱΛ೺Ѳɺௐ੔͠ ͨϥΠϒϥϦΛ࡞Δඞཁ͕͋Δʢ9BNBSJOݻ༗ͷ՝୊ʣɻ 

  61. ຊࢿྉ͸༗ࢁܓೋͷஶ࡞෺Ͱ͢ɻຊࢿྉͷશ෦ɺ·ͨ͸Ұ෦ʹ͍ͭͯɺஶ࡞ऀ͔ΒจॻʹΑΔڐ୚Λಘͣʹෳ੡͢Δ͜ͱ͸ې͡ΒΕ͍ͯ·͢ɻ ֤੡඼໊ɾϒϥϯυ໊ɺձ໊ࣾͳͲ͸ɺҰൠʹ֤ࣾͷ঎ඪ·ͨ͸ొ࿥঎ඪͰ͢ɻຊࢿྉதͰ͸ɺ˜ɺšɺäΛׂѪ͍ͯ͠·͢ɻ ຊࢿྉͷ಺༰͸ɺൃදऀݸਓͷݟղͰ͋Γɺॴଐ·ͨ͸ؔ༩͢Δ૊৫Λ୅ද͢Δ΋ͷͰ͸͋Γ·ͤΜɻ https://github.com/cocoa-mhlw/cocoa/ $0$0"΁ͷίϯτϦϏϡʔτ ͓଴͍ͪͯ͠·͢ɻ