いかにして不具合発見時の フィードバックを素早く行うか #potatotips 12
by
Tatsuya Arai
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
͍͔ʹͯ͠ෆ۩߹ൃݟ࣌ͷ ϑΟʔυόοΫΛૉૣ͘ߦ͏͔ QPUBUPUJQT
Slide 2
Slide 2 text
I’m cutmail • Fablic, Inc. • Co-Founder • iOS / Android Application Engineer
Slide 3
Slide 3 text
ಥવͰ͕͢
Slide 4
Slide 4 text
͜Μͳͱ͖ Ͳ͏ͯ͠·͔͢ʁ
Slide 5
Slide 5 text
ΞϓϦͷQA
Slide 6
Slide 6 text
AdHocϏϧυͰQAதʹ ද่ࣔΕΛݟ͚ͭͯ͠·ͬͨʂ
Slide 7
Slide 7 text
୲ΤϯδχΞʹใࠂ
Slide 8
Slide 8 text
੮ʹߦ͘
Slide 9
Slide 9 text
1. iPhoneͰεΫϦʔϯγϣοτΛࡱΔ 2. Macʹసૹ 3. ෆ۩߹ͷঢ়گΛςΩετʹى͜͢ 4. νϟοτͰૹΔ νϟοτͰૹΔ
Slide 10
Slide 10 text
ΊΜͲ͍͘͞ IUUQTXXXqJDLSDPNQIPUPTSVOOFWFS
Slide 11
Slide 11 text
ෆ۩߹͕େࣄ IUUQTXXXqJDLSDPNQIPUPTCPPMFBOTQMJU
Slide 12
Slide 12 text
ͬͱखܰʹ ϑΟʔυόοΫ͍ͨ͠ IUUQTXXXqJDLSDPNQIPUPTTMXPSLJOH
Slide 13
Slide 13 text
ΤϯδχΞ͕ཉ͍͠ใ •εΫϦʔϯγϣοτ •Ͳͷը໘Ͱൃੜͨ͠ͷ͔ •ΞϓϦͷϏϧυόʔδϣϯ • •OSͷόʔδϣϯ
Slide 14
Slide 14 text
ͦ͜Ͱ
Slide 15
Slide 15 text
BugshotKit
Slide 16
Slide 16 text
BugshotKit wIUUQTHJUIVCDPNNBSDPBSNFOU#VHTIPU,JU w ෆ۩߹ͷϑΟʔυόοΫΛࢧԉͯ͘͠ΕΔϥ ΠϒϥϦ w εΫϦʔϯγϣοτͱίϯιʔϧϩάΛϝʔ ϧͰૹ৴ w ಛఆͷδΣενϟʔΛߦ͏͜ͱͰൃಈ
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
ొͨ͠δΣενϟʔΛߦ͏
Slide 19
Slide 19 text
w εΫϦʔϯγϣοτ w ίϯιʔϧϩά
Slide 20
Slide 20 text
؆қతͳฤूπʔϧ w ҹ w ғΈ w ϞβΠΫ
Slide 21
Slide 21 text
؆қతͳฤूπʔϧ w ҹ w ғΈ w ϞβΠΫ
Slide 22
Slide 22 text
$PNQPTF&NBJMΛλοϓ
Slide 23
Slide 23 text
ϝʔϧͰૹ৴
Slide 24
Slide 24 text
ϝʔϧड৴ ΞϓϦͷใͳͲ͕ɺ·ͱ·ͬͨঢ়ଶͰϑΟʔυόοΫ͕དྷΔ
Slide 25
Slide 25 text
ಋೖ
Slide 26
Slide 26 text
PodfileʹՃ pod 'BugshotKit', :head, :configuration => ['AdHoc'] $POpHVSBUJPOʹ#VHTIPU,JUΛ༗ޮʹ͍ͨ͠ͷΛ ࢦఆ͢Δ
Slide 27
Slide 27 text
ApplicationDelegateͰ ॳظԽ #ifdef DEBUG #import "BugshotKit.h" #endif @implementation FLAppDelegate #pragma mark - App Delegate methods - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { #ifdef DEBUG [BugshotKit enableWithNumberOfTouches:2 performingGestures:BSKInvocationGestureSwipeUp feedbackEmailAddress:@“
[email protected]
”]; #endif }
Slide 28
Slide 28 text
BSKInvocationGestureMask BSKInvocationGestureNone BSKInvocationGestureSwipeUp BSKInvocationGestureSwipeDown BSKInvocationGestureSwipeFromRightEdge BSKInvocationGestureDoubleTap BSKInvocationGestureTripleTap BSKInvocationGestureLongPress ෳͷδΣενϟʔΛΈ߹ΘͤΔ͜ͱ͕Մೳ
Slide 29
Slide 29 text
ҙͷϝʔϧλΠτϧ [BugshotKit setEmailSubjectBlock:^NSString *(NSDictionary *info) { return [NSString stringWithFormat: @"Bug report from version %@, user %@", info[@“appVersion"], info[@"userID"]]; }];
Slide 30
Slide 30 text
info.json \ BQQ/BNF5FTU#VHTIPU,JU BQQ7FSTJPO TZTUFN7FSTJPO EFWJDF.PEFMJ1IPOF ^ ͦͷଞҙͷใΛՃ͢Δ͜ͱՄೳ
Slide 31
Slide 31 text
log.txt <#VHTIPU,JU>&OBCMFEGPSpOHFSTXJQFVQ <#VHTIPU,JU>&OBCMFEGPSTXJQFGSPNSJHIU FEHF <#VHTIPU,JU>&OBCMFEGPSpOHFSTXJQFVQ <#VHTIPU,JU>&OBCMFEGPSTXJQFGSPNSJHIU FEHF
Slide 32
Slide 32 text
ҙͷ߲ՃՄೳ [BugshotKit setExtraInfoBlock:^NSDictionary *{ return @{ @"userID" : @(123), @"userType" : @"normal" }; }]; \ BQQ/BNF5FTU#VHTIPU,JU BQQ7FSTJPO TZTUFN7FSTJPO EFWJDF.PEFMlJ1IPOF z VTFS*%lz VTFS5ZQFlOPSNBMz ^ JOGPKTPO
Slide 33
Slide 33 text
#VHTIPU,JU BugshotKit Flow ࣗಈԽ!
Slide 34
Slide 34 text
ҙ private APIΛ͍ͬͯΔͷͰ ৹ࠪʹग़͢ࡍҙ͕ඞཁ
Slide 35
Slide 35 text
ϑΟʔυόοΫܥϥΠϒϥϦ •fladdict/AAMFeedback •dealforest/DFTDebugScreenshot •cookpad/issue-reporter-android
Slide 36
Slide 36 text
·ͱΊ •BugshotKitΛ͏ͱ։ൃऀʹૉૣ͘ ϑΟʔυόοΫ͕Ͱ͖Δ •Fabric(Crashlytics)ͳͲͱηοτͰ ͏ͱΑΓޮՌత
Slide 37
Slide 37 text
ΤϯδχΞืूத J04ΤϯδχΞ "OESPJEΤϯδχΞ αʔόʔαΠυΤϯδχΞ
Slide 38
Slide 38 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ