I do all the steps according to the Huawei documentation
First, I enabled the Push Kit api through the Project Settings -> Manage Apis
Then I go to the Grow -> Push Kit and turn on Push Kit there, after which I turn on precise messaging:
After that, I try to enable precise messaging for my app, but instead I see this window
I did not find any information about what to write in the Authentication parameters window
According to the screenshot, precision marketing has been enabled. For authentication parameters of Configure other android-based push , pls kindly check the link.
The settings do not affect the normal sending and receiving of Huawei push messages. If you are not sure whether to enable or disable the settings, you do not need to enable or configure the settings.
In addition, according to the screenshot you provided, only Setting options are available for the Push Kit service, and other notifications are unavailable. In this case, your team administrator needs to configure operation permissions for your account.
If you are facing this problem, then most likely you do not have enough rights for these actions.
You need to contact the account owner and ask to expand your rights and permissions
Please refer to the document, screenshot and answer to your question below. You need to copy-and-paste the JSON key file of the target platform into Authentication parameters.
https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides/3rd-party-push-integration-0000001050992231
Related
I know Deep linking with iOS application is supported by SFMC and I found documentation at here
But I am unable to find any documentation which provides details on supporting deeplining for Android application. Does marketing cloud supports android app links at all? Thanks
I think it still don't, but you might want to check with support once. See if you could use some work around' like https://app.urlgeni.us/
I would say is partially supported as depends on the platform, not really on the email coded as is exemplified here:
However, if other apps installed on a user's device can handle the same intent, users might not go directly to your app. For example, clicking a URL in an email from a bank might lead to a dialog asking the user whether to use the browser or the bank's own app to open the link.
So that depends on the configuration of the itents of the app to catch that request and how the user has configured the default handler on the device's system settings.
I'm new to android enterprise development world, and I have some misconception of how different pieces in the android enterprise ecosystem relate to one another. Let me explain.
The solution that I'm trying to achieve is being able to lock the device into kiosk mode both remotely, and also based on some business logic do it even when the user is offline. I started investigating EMM and particularly Android Management API to solve the problem. I was able to lock the device remotely into kiosk mode using the API. The steps that I take is following
Factory reset the android device
Reach the screen where user needs to enter their credentials
Instead of real credentials I enter afw#setup
Device enters into work profile mode and android device policy is being installed
I create an enrollment token in the management API (the steps for that are described in the quick start guide
I generate a QR code and scan it using the factory reset device as soon as I'm prompted
The device will be linked to the enterprise, and I'm successfully being able to control it and put the device into kiosk mode by creating special kiosk mode policy and patching the device to comply to that policy using a combination of patch policy (to create a policy) and patch device APIs.
The next step was finding out a way to lock the device into kiosk mode even when user is offline. I assume that it's going to happen by creating an android enterprise custom DPC (device policy controller) application. I assumed that by reading the following documentation, where one of the 3 ways of provisioning "single purpose" devices is creating a custom DPC application. Here's another quote from different url
As an EMM, you develop a DPC app that can be used by your customers in conjunction with your EMM console and server. Your customer deploys the DPC to the user devices that they manage. The DPC acts as the bridge between your EMM console (and server) and the device. An admin uses the EMM console to perform a range of tasks, including configuring device settings and apps.
And here's where all of my confusions arise.
First question that naturally arises - was the author of the previous quote referring to EMM management API when talking about EMM console and server?
Further, there are more questions that I couldn't find an answer to
In the guide for creating a custom DPC there are no mentions about what role EMM API will play in custom DPC, and consequently there's no place I could find that describes how exactly the custom DPC is a bridge between the EMM console (presumably EMM API) and the device?
Then, let's assume I've developed a custom DPC application and uploaded it to google play alpha channel. The documentation states that during the setup process instead of entering afw#setup I should enter afw#DPC_NAME, and I have no idea how to generate that name? Is it the bundle ID of the DPC app? Or perhaps it's being set somewhere in google settings? For instance, google has developed the TestDPC application to test enterprise solutions, and I was able to go through the steps I described above and enter afw#testdpc and successfully scanned the QR code in the git readme file and I saw that TestDPC was installed and device was launched into work profile mode. So, I assume somehow I need to register my own "testdpc" and enter afw#my_dpc instead.
Basically I have different pieces working stand alone and I want to form a broader picture in my mind to understand how to stitch those pieces together.
Thanks for your answers
UPDATE 1:
Today I found a way of turning custom DPC into device owner without going through NFC or other provisioning process. This is particularly useful for development purposes. Follow this link for instructions.This is both huge time saver, and also, in my case, we still are waiting for google's approval, but finally we can start testing some stuff without the need of custom provisioning process.
There are two distinct ways of managing Android devices:
The new way: the Android Management API. It is the way recommended by Google and it's significantly simpler than the old way, you don't need to call other APIs or to create a custom DPC. If your use case is not addressed by this API you can send feedback to Google so they can add the missing features.
The old way (no longer available for new deployments as of 2019-12-20): using custom DPC. For that you need to:
create a custom DPC,
register your custom DPC with Google by joining the EMM Community (this is how you get the afw#DPC_NAME),
use the Google Play EMM API to install apps.
In the documentation you - the developer using these APIs - are referred as "the EMM". "EMM server" refers to the server that you own and that calls these API, and "EMM console" refers to the UI console that you expose to your IT admins, if any.
https://developer.android.com/work/dpc/build-dpc
Caution: Android Enterprise is no longer accepting new registrations
for custom device policy controllers (DPCs). Learn more.
Hi #Fred,
I found this above information from the mentioned path.
I have some questions regarding the above conversation.
If we use Android management API to develop EMM, we don't need to implement Custom DPC app?
Whether we can register a account in EMM community with Custom DPC app?
Is it possible to use a custom DPC app with Android management API?
I'm trying to implement an MDM client app for Android, known in the Android For Work world as a Device Policy Controller or DPC. Google's documentation for building a DPC is here.
The documented process begins with downloading the DPC Support Library. Unfortunately, the download link they provide (to the "EMM Community's Technical Integration" section) doesn't work: you're prompted to log in with a Google account, but after doing so I see this:
We’re sorry...
...but it looks like you don’t have access to this place or content. If you think you should have access to this space, try logging out and back in again using your account menu accessible by clicking your avatar in the top right corner of this page. If this issue persists, please notify your Support Representative and we will troubleshoot further.
Others have had the same problem: there's an issue ticket raised here which is only 2 months old, has no answer but for some reason has been marked Assumed Answered and then ignored.
The steps documented here make it very clear that the DPC Support Library is a required part of the process, and don't describe any alternatives to using it.
So, how do I get hold of the DPC Support Library? Can it be obtained anywhere else? Or failing that, how do I find out what it does so I can reproduce those steps manually in my own code?
Some steps I've already tried:
I have successfully registered for the EMM Community and have access to the EMM API. (i.e. I get a valid response now from Enterprises.generateSignupUrl, and no longer the dreaded "The caller is not registered as an MDM".) That in itself was a long and frustratingly opaque process.
I have built and run the googlesamples/android-testdpc app and looked through the source code. Unfortunately this is a client-only demo: it doesn't communicate with an EMM server and doesn't use the DPC Support Library. Specifically, it doesn't obtain an authorisation token in order to provision a work profile on the device, as documented here.
I have played with the public EMM demo system and its DPC app. That seems to be doing things properly, but as it's closed-source I can't look at the code for either client or server.
Well I now have access, so in that sense I have an answer, but I don't know how useful it'll be to others.
A Google representative replied to my forum post here and granted my organisation access to the EMM Community. Once that was enabled, the steps were as follows:
Create a new Google account using my work e-mail address
Sign into the Cloud Connect portal with that account
Click on EMM Community
Scroll down to the Featured Technical Guidance section and look for the DPC Support Library download link
An alternative to build your own Device Policy Controller app is to use the Android Management API and therefore not have to use the DPC Support Library. This API doesn't have all the features you can get by building your own Device Policy Controller app, but is significantly simpler to implement.
In my app, SIP registration was successfully done,but when i am checking in my phone weather account is added or not, account is added but when i am clicking on that then popup appears with two option:
1.Close Profile
2.Cancel
So there may be account not successfully added.So please suggest me to solve this issue.Thank you.
Have a look at this post and this post if you're okay w/launching the native sip-settings dialog and then reading the settings out afterwards. You could also do as another user suggested and use a service.
See the official Android SIP API for the latest, in case such an option has become available.
I am new to Android for work features.
I have written a sample app to test the restriction features provided to a profile owner. My sample app creates a managed work profile and sets itself as the profile owner.
I tried to apply some restriction policies after that, e.g., DevicePolicyManager.addUserRestriction(componentName, UserManager.DISALLOW_UNINSTALL_APPS);
It works and I am unable to uninstall any app from the managed profile. But when I try to apply: DevicePolicyManager.addUserRestriction(componentName, UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);,
it seems to be not working.
I couldn't find the default settings app enabled in the profile.
But when I log the apps installed in the managed profile, I can see two setting packages (com.android.settings and com.android.providers.settings) in the list.
What my understanding from the above API is after applying the restriction, Setting->security->Unknown Source switch should be disabled. But I couldn't find any Settings app in the managed profile to verify.
Also, after applying the restriction, I am able to install any apk from adb in the managed profile along with the primary user.
Please let me know if i am missing something.