Open stownsend opened 7 years ago
Hi Samuel,
Thanks for reaching out -- hopefully we can quickly figure out why Nearby isn't working for you.
I can see from the logs that your device hasn't heard any tokens from nearby devices when the publications & subscriptions are active, so I'm inclined to believe that there's a problem with BLE (Bluetooth Low Energy). This can happen for the following reasons:
When BLE is working as expected, you should see some logs like these:
2016-08-26 13:28:52.916 MyApp[267:13432] Heard new token: <GCPToken 0x14ef18ed0>: {tokenId oMOiOEo1Q0M, first seen 1:28:52 PM, last seen 1:28:52 PM, [ble-adv]} 2016-08-26 13:28:53.832 MyApp[267:13432] Heard new token: <GCPToken 0x14eda1f40>: {tokenId z7ofWu2dvco, first seen 1:28:53 PM, last seen 1:28:53 PM, [ble-gatt]}
Samuel,
I recently released two new sample apps for Nearby on iOS, including one that demonstrates background mode for pubs/subs, which you'll find here: https://github.com/googlesamples/ios-nearby/tree/master/NearbyBackgroundExample
I'm hoping this will be helpful to you if you're still having trouble with background mode.
Hi Dan, Sorry for such a delayed response, things got pretty busy.
Thanks for the example, I hope to take a look over the next few days. I really appreciate it
Sam
@dan-webb we tried with you sample application with just 2 iOS phones. we were expecting that when both were in background (like a use-case when both coming from a distance apart) that both will get notifications . However, this does not work unless and until one iphone comes in foreground. Is it not possible to get a notification on both iphones if both are running in background ?
Hi,
I was pleased to see that Nearby can now operate in the background on iOS. However, I'm having trouble getting it to work as expected.
When I initially set up the publication and subscription objects, and place the app in the background, discovery/messages cease after a few seconds, however other devices/messages are seen during this time. At present, this issue is occurring between 2 iOS devices. When the app is re-awoken after a period of ~5mins, the publication and subscription objects seem to reset and the devices no longer detect the messages of the other devices. This wakeup is triggered by a silent push notification.
I have the appropriate background modes enabled, and have set both pub/sub to allowBackground = YES. Attached logs below.
2016-08-25 11:56:08.851 BTLEPushTest[1014:399239] Subscribe (mediums: 2, broadcast/scan: 3, beacons: 0/1/1, background: 1) 2016-08-25 11:56:08.854 BTLEPushTest[1014:399239] Publish (mediums: 2, broadcast/scan: 3, beacons: 0/0/0, background: 1) 2016-08-25 11:56:08.857 BTLEPushTest[1014:399239] [PW] [I] -[PWLocationTracker] location services authorization status has not been determined yet 2016-08-25 11:56:08.862 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 0 broadcast 2016-08-25 11:56:08.862 BTLEPushTest[1014:399239] Report RPC request: 0 token(s), 0 beacon(s), 0 directive(s) 2016-08-25 11:56:08.867 BTLEPushTest[1014:399239] Report RPC request: Subscribe: 1 2016-08-25 11:56:08.871 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 0 broadcast 2016-08-25 11:56:08.871 BTLEPushTest[1014:399239] Report RPC request: 0 token(s), 0 beacon(s), 0 directive(s) 2016-08-25 11:56:08.872 BTLEPushTest[1014:399239] Report RPC request: Publish: 1 2016-08-25 11:56:09.544 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 11:56:09.546 BTLEPushTest[1014:399239] Report RPC response: 6 directive(s), 0 token(s), 0 message(s), 1 publication results(s), 0 subscription results(s) 2016-08-25 11:56:09.547 BTLEPushTest[1014:399239] BLE: Ad packet token changed to: lLYC-o4O7L4 2016-08-25 11:56:09.547 BTLEPushTest[1014:399239] BLE: GATT token changed to: hp2udS3Jsmc 2016-08-25 11:56:09.560 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 11:56:09.560 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 11:56:09.659 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 11:56:09.659 BTLEPushTest[1014:399239] Found 01 2016-08-25 11:56:09.659 BTLEPushTest[1014:399239] Report RPC response: 6 directive(s), 0 token(s), 1 message(s), 0 publication results(s), 1 subscription results(s) 2016-08-25 11:56:09.660 BTLEPushTest[1014:399239] BLE: Ad packet token changed to: knCKlWKH5CM 2016-08-25 11:56:09.660 BTLEPushTest[1014:399239] BLE: GATT token changed to: VYBW0mRtkpQ 2016-08-25 11:56:09.673 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 11:56:09.674 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 11:56:09.975 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 11:56:09.976 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 1 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 11:56:10.062 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 11:56:10.063 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 12:01:20.354 BTLEPushTest[1014:399239] Subscribe (mediums: 2, broadcast/scan: 3, beacons: 0/1/1, background: 1) 2016-08-25 12:01:20.355 BTLEPushTest[1014:399239] Publish (mediums: 2, broadcast/scan: 3, beacons: 0/0/0, background: 1) 2016-08-25 12:01:20.356 BTLEPushTest[1014:399239] BLE: Ad packet token changed to: 2016-08-25 12:01:20.356 BTLEPushTest[1014:399239] BLE: GATT token changed to: 2016-08-25 12:01:20.356 BTLEPushTest[1014:399239] Unpublish 2016-08-25 12:01:20.358 BTLEPushTest[1014:399239] BLE: Ad packet token changed to: 2016-08-25 12:01:20.359 BTLEPushTest[1014:399239] BLE: GATT token changed to: 2016-08-25 12:01:20.360 BTLEPushTest[1014:399239] Unsubscribe 2016-08-25 12:01:20.375 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 0 broadcast 2016-08-25 12:01:20.375 BTLEPushTest[1014:399239] Report RPC request: 0 token(s), 0 beacon(s), 0 directive(s) 2016-08-25 12:01:20.377 BTLEPushTest[1014:399239] Report RPC request: Subscribe: 1 2016-08-25 12:01:20.383 BTLEPushTest[1014:399239] Report RPC request: Unsubscribe: 1 2016-08-25 12:01:20.385 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 0 broadcast 2016-08-25 12:01:20.386 BTLEPushTest[1014:399239] Report RPC request: 0 token(s), 0 beacon(s), 0 directive(s) 2016-08-25 12:01:20.386 BTLEPushTest[1014:399239] Report RPC request: Publish: 1 2016-08-25 12:01:20.387 BTLEPushTest[1014:399239] Report RPC request: Unpublish: 1 2016-08-25 12:01:20.390 BTLEPushTest[1014:399239] =============Silent Notif. Rec.============== 2016-08-25 12:01:20.394 BTLEPushTest[1014:399239] AppDelegate: Starting Scan Background Task # 41 2016-08-25 12:01:21.417 BTLEPushTest[1014:400218] [PW] [D] -[PushNotificationManager] sendStats completed 2016-08-25 12:01:21.421 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:21.421 BTLEPushTest[1014:399239] Report RPC response: 6 directive(s), 0 token(s), 0 message(s), 1 publication results(s), 0 subscription results(s) 2016-08-25 12:01:21.422 BTLEPushTest[1014:399239] BLE: Ad packet token changed to: U-NIb5J3TlE 2016-08-25 12:01:21.422 BTLEPushTest[1014:399239] BLE: GATT token changed to: Gobhtqv2KYA 2016-08-25 12:01:21.444 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:21.445 BTLEPushTest[1014:399239] Report RPC response: 6 directive(s), 0 token(s), 0 message(s), 0 publication results(s), 1 subscription results(s) 2016-08-25 12:01:21.445 BTLEPushTest[1014:399239] BLE: Ad packet token changed to: hGvjlnTHBec 2016-08-25 12:01:21.446 BTLEPushTest[1014:399239] BLE: GATT token changed to: KdST10Xc5l4 2016-08-25 12:01:21.530 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 12:01:21.532 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 12:01:21.535 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 12:01:21.536 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 12:01:21.941 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:21.941 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 12:01:22.001 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 12:01:22.003 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 12:01:22.017 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:22.018 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 12:01:22.032 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 12:01:22.032 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 12:01:22.468 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:22.471 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 12:01:22.476 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:22.477 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 12:01:25.879 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 12:01:25.880 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 12:01:26.329 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:26.331 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s) 2016-08-25 12:01:31.242 BTLEPushTest[1014:399239] Tokens: 0 good, 0 bad, 2 broadcast 2016-08-25 12:01:31.244 BTLEPushTest[1014:399239] Report RPC request: 2 token(s), 0 beacon(s), 4 directive(s) 2016-08-25 12:01:31.760 BTLEPushTest[1014:399239] Report RPC response: Success 2016-08-25 12:01:31.761 BTLEPushTest[1014:399239] Report RPC response: 0 directive(s), 2 token(s), 0 message(s), 0 publication results(s), 0 subscription results(s)
Is there something I'm missing with setting up Nearby to work in the background?