{ "id": "170781", "key": "TIMOB-25665", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2018-01-12T12:08:10.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "20060", "description": "", "name": "Release 7.0.2", "archived": false, "released": true, "releaseDate": "2018-02-09" } ], "issuelinks": [ { "id": "56271", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "170981", "key": "TIMOB-25726", "fields": { "summary": "Android: Ensure device's installed Google Play Services is available/updated on app startup", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "56614", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "171691", "key": "MOD-2428", "fields": { "summary": "Module will not build following update of SDK from 7.0.2 -> 7.1.0+", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": null, "updated": "2019-02-12T16:33:50.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "[~titanium@webmasterei-hamburg.de] noticed that there is a new version of the play-services available (11.8.0?). Right now we use 11.0.1, so we should update the aar's and deliver the new version with SDK 7.1.0. Of course, open source developers will be able to use the new version once merged already.", "attachment": [], "flagged": false, "summary": "Android: Update Ti.Playservices libraries to latest (11.8.0?)", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 1000, "state": "closed", "name": "2018 Sprint 04 SDK", "startDate": "2018-02-12T04:23:01.913Z", "endDate": "2018-02-26T04:23:00.000Z", "completeDate": "2018-02-26T19:36:01.769Z", "originBoardId": 114 }, { "id": 126, "state": "closed", "name": "2018 Sprint 05 SDK", "startDate": "2018-02-25T19:38:08.926Z", "endDate": "2018-03-11T18:38:00.000Z", "completeDate": "2018-03-11T22:06:01.520Z", "originBoardId": 100 } ], "comment": { "comments": [ { "id": "433077", "author": { "name": "titanium@webmasterei-hamburg.de", "key": "titanium@webmasterei-hamburg.de", "displayName": "Rainer Schleevoigt", "active": true, "timeZone": "Europe/Berlin" }, "body": "Thanks! One question: how can I feed me folder `/opt/android-sdk/extras/google/m2repository/com/google` with this new version. \r\nSDK manager shows me 46 as newest version in SDK-Tools tab. But in mentioned folder I still see 11.0.4.", "updateAuthor": { "name": "titanium@webmasterei-hamburg.de", "key": "titanium@webmasterei-hamburg.de", "displayName": "Rainer Schleevoigt", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-12T12:45:41.000+0000", "updated": "2018-01-12T12:45:41.000+0000" }, { "id": "433078", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I think via Android Studio. But I've even done that and begin to suspect that 11.8.0 is not the latest GA / stable version. Can someone ([~gmathews], [~ybanev], [~michael]) confirm this?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-12T13:00:15.000+0000", "updated": "2018-01-12T13:00:15.000+0000" }, { "id": "433082", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator-modules/ti.playservices/pull/9\r\n\r\nA few libraries have been removed and replaced by Google.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-12T13:46:15.000+0000", "updated": "2018-01-12T13:46:15.000+0000" }, { "id": "433108", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~hknoechel], I recommend that we do NOT upgrade to the newest Google Play Services. There's a reason why we've kept it behind for the moment.\r\n\r\nThe Google Play Services library is mostly an interface that does IPC (inter-process communications) with the invisible Google Play Services APK/app that is installed on the device. The problem here is if your app uses a Google Play Services JAR files that is newer a version than the Google Play Services APK installed on the device, then the JAR's APIs will fail.\r\n\r\nWhat we're supposed to do is query the system for a version >= to the JAR that we're using. Typically, on app startup. And if the system has an older version, then we request Google Play to download/install it. This is according to Google's docs below. We're not currently doing this right now, and because of this, we should avoid using the newest version at the moment to decrease the likeliness of this scenario.\r\nhttps://developers.google.com/android/guides/setup#ensure_devices_have_the_google_play_services_apk\r\n\r\nI can see 2 solutions to this problem:\r\n# We can add APIs to our new \"ti.playservices\" library and let Titanium developers do this themselves on app startup. However, this is inconvenient and I'm sure most devs won't know they need to do this.\r\n# We can do it automatically on startup, while the launch/splashscreen is shown, and ensure Google Play Services is installed before executing the main JavaScript.\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-12T23:11:30.000+0000", "updated": "2018-01-12T23:11:30.000+0000" }, { "id": "433118", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~jquick] Thanks for the insight, I didn't know that. I would wonder how other platforms solve this issue to stay both updated and flexible.\r\n\r\n*EDIT*: One thing though: I remember that 11.0.4 was latest at the time we introduced it as well and we already expose utilities for the devs to guard the play-services availability using the {{isGooglePlayServicesAvailable()}} method. So developers know that they need to use playservices-related API's like that. So I don't see how that changes with this update, but let me know. ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-13T11:39:33.000+0000", "updated": "2018-01-13T18:33:48.000+0000" }, { "id": "433150", "author": { "name": "titanium@webmasterei-hamburg.de", "key": "titanium@webmasterei-hamburg.de", "displayName": "Rainer Schleevoigt", "active": true, "timeZone": "Europe/Berlin" }, "body": "On the other hand: if i add firebase 11.4.0 to project via gradle then google playservice with same version will used/installed to dummy app. ", "updateAuthor": { "name": "titanium@webmasterei-hamburg.de", "key": "titanium@webmasterei-hamburg.de", "displayName": "Rainer Schleevoigt", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-01-15T12:30:32.000+0000", "updated": "2018-01-15T12:30:32.000+0000" }, { "id": "433217", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I've seen a Titanium developer get burned by this last year. So please, let's not update it yet. Doing so will likely break apps.\r\n\r\nOur new \"ti.playservices\" module does expose the makeGooglePlayServicesAvailable() method needed to display a dialog asking the end-user if it's okay to download the newest Google Play Services, but this API is incomplete since it does not provide a listener indicating that it was successful. So, Titanium devs don't have all of the tools needed to do this themselves yet... and ideally we should do this automatically on app launch since most Titanium devs aren't aware that they need to do this.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-01-16T22:18:18.000+0000", "updated": "2018-01-16T22:18:18.000+0000" }, { "id": "437874", "author": { "name": "miniman42", "key": "miniman42", "displayName": "Greg", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "miniman42", "key": "miniman42", "displayName": "Greg", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-23T10:50:05.000+0000", "updated": "2018-05-23T10:50:05.000+0000" }, { "id": "446017", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Can this *please* get some attention? 11.0.4 is nearly 1.5 years old and all other frameworks updated to latest quite a while ago. This blocks many developers from updating their modules (like firebase analytics/crash/cloud-messaging) to current version. If people worry about stability or the \"prompt\" of non-available play-services, they can handle it, but blocking releases because of that reason seems not correct. ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-02-12T16:33:50.000+0000", "updated": "2019-02-12T16:33:50.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }