{ "id": "171686", "key": "MOD-2423", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10034", "key": "MOD", "name": "Appcelerator Modules", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "20144", "name": "Release 7.2.0", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-05-25T12:59:51.000+0000", "created": "2018-05-21T22:04:20.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "admob", "android" ], "versions": [], "issuelinks": [ { "id": "56548", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "171685", "key": "MOD-2422", "fields": { "summary": "iOS: Add non-personalized ads support to \"ti.admob\"", "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": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-06-05T22:41:51.000+0000", "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" } }, "components": [], "description": "*Summary:*\r\nBy default, AdMob provides targeted ads based on user identifiable information. In order to comply with the EU GDPR, we need to be able to provide \"non-personalized ads\" (aka: \"npa\") if the end-user has not consented to targeted ads.\r\nhttps://developers.google.com/admob/android/eu-consent\r\n\r\n*Recommended Solution:*\r\nModify the following AdMob {{requestAd()}} to accept a dictionary of properties (method currently does not support arguments). The property we need is {{extras}}, which must be a dictionary of strings. The item needed is \"npa\".\r\n{code:javascript}\r\nadmob.requestAd({\r\n\textras: { npa: '1' }\r\n});\r\n{code}\r\n\r\nThis \"extras\" dictionary of strings will then be blindly copied to an Android {{Bundle}} when requesting an ad, as documented here...\r\nhttps://developers.google.com/admob/android/eu-consent#forward_consent_to_the_google_mobile_ads_sdk\r\n\r\nThe advantage of creating an \"extras\" dictionary is because it'll then behave the same as \"ti.admob\" for iOS and there are other documented Google extras that can be used.\r\n\r\nAlso, adding a dictionary of properties to {{requestAd()}} leaves room for the possibility to support interstitial ad support in the future.\r\n", "attachment": [], "flagged": false, "summary": "Android: Add non-personalized ads support to \"ti.admob\"", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 1035, "state": "closed", "name": "2018 Sprint 11 SDK", "startDate": "2018-05-20T20:57:43.542Z", "endDate": "2018-06-03T20:57:00.000Z", "completeDate": "2018-06-04T15:13:14.425Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "437834", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator-modules/ti.admob/pull/77", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-05-22T07:55:35.000+0000", "updated": "2018-05-22T07:55:35.000+0000" }, { "id": "438155", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as PR's are merged & a community member has verified the working.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-06-05T22:41:26.000+0000", "updated": "2018-06-05T22:41:26.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }