setting name and email in zendesk android sdk - zendesk

This is my first time using of zendesk, and I am facing some problems here
I need to set the name, email and external identifier of user before start any activity to be shown in the tickets screen
here is my code
Identity user = new AnonymousIdentity.Builder().withEmailIdentifier(mEmail).withNameIdentifier(mName).withExternalIdentifier(mIdentifier).build();
ZendeskConfig.INSTANCE.setIdentity(user);
Intent intent = new Intent(ContactUsActivity.this, ContactZendeskActivity.class);
startActivity(intent);
no thing appear in my tickets screen only "Mobile App User", non of my information is shown
can anyone tell me what is the problem here ?

Full disclosure: I'm one of the SDK devs. Generally you end up seeing 'Mobile App User' because of the way that the user lookup works.
Before I start, I'd like to point out that withExternalIdentifier is optional. I'd only recommend using it if you know for sure that you'll always have a unique ID there.
If you give us an external ID, we'll try to see if a user exists in your system with that ID. If it does we use that. For security reasons we don't let a mobile identity update the user. If no match was found on the external ID, we then look at the email, and follow the same lookup process.
The only time where the external ID and name will be set is if you are creating a new user. New means one that wasn't found already with the external ID or email that you are supplying.
If you still have issues you can drop us an email to support#zendesk.com
Thanks!

Related

Sign in with Apple without email id

My application is rejected twice for the “Apple with sign-in“ option. I try to get an email id after the user chooses apple with a sign-in option but in one scenario somehow I don’t get an email id while doing “Sign in with Apple” functionality. I was trying to find ways to reproduce this issue but couldn’t reproduce. Finally today I got to know that in iPhone after creating Apple ID if you go to settings -> Apple ID, you have an option to remove your email id and use the only phone number in place of email id, in this case, I will never get email id while doing “Sign in with Apple”. Unfortunately, my whole application is working based on email id as a primary parameter. In this case, anyone has any idea that how we can handle the uniqueness of the user without changing the architecture of the application?
So the main issue is If the user is using Apple ID as the mobile
number I am not able to get the email address of the user or phone
number
I am stuck in this issue for one week and apple is rejecting my application. Please help me if anyone Is having any idea about it. Thanks in advance
You can use the next steps.
If your users use an Apple sign in and you didn't get an email of the user, then you can simply redirect him to the specific additional step where he should add his email for the end of the registration. After that, you will get an email of this user and it will not necessary to change the architecture of the app

Connecting visitors in different browsers

We are tracking a forgot password workflow action using adobe site catalyst. The flow happens something like below
User requests for forgot password
He provides the email address and clicks on create new password
New password generation like is send to his email address
User clicks on this link and generates a new password
First 3 actions occurs in the same browser. The 4th activity can occur in the same browser or a different browser. Because of this, site catalyst considers that user as a different one (different visitor ID) and considers that as a totally different visit. Ideally the number of users who completes activity 4 should be less than that completes 1,2,3.
But for us, we are seeing more users who completes activity 4 which could be because of this different visitor issue.
Can someone please suggest a better approach to solve this?
You might want to try overwriting the Visitor ID.
I do not know how your site works in the backend, but generally, and theoretically (as I have yet to be asked by clients on to implement this):
Extract the Visitor ID when the user provides the email address and clicks on create new password. You might want to check the appendVisitorIDsTo (Cross-Domain Tracking) function out and see how the Visitor ID query parameter is implemented.
Send the Visitor ID along with the email address to your backend controller that spits out the template forget password email.
In the template forget password email, append the extracted Visitor ID as a query parameter in the reset link.
In DTM (if you are using DTM), modify your Marketing Cloud Visitor Service tool enable this configuration: overwriteCrossDomainMCIDAndAID.
When the user clicks on this reset link, the Visitor ID should be the one that is initially created for the user.
You might want to read this answer as well.

open Vine profile with username from iOS app

I found that vine://user/907031926412546048 is working.
is there any way to open by username? vine://user/canaksoy
or any api call to find username by userid?
I would shy away from hard coding this. Usernames can change instantly and by hard coding it in, you literally would have to push an app update just to correlate to that new username. I think by using a user ID number its guaranteed and leaves no room for error. But if you really don't want to do that here is an alternative:
This is untested on my behalf, but I do know they have custom urls, you might be able to play with this:
https://support.twitter.com/articles/20170806-vine-profile-urls
A profile URL is a unique Vine profile address accessible from the web. Once you select an available URL you will be able to access your profile by visiting vine.co/[yourURL]. Selecting a custom URL allows you to share your profile easily and makes it easier for others to find and watch the videos you’ve created.
EDIT based on the discussion below :
This is why it's important to use unique ID :
A quick search for everyone with the username of Drew Carey:
This is why they don't have usernames in my opinion. Because they aren't unique. Even vine utilizes the unique ID when you invite someone to see your vine or profile via text or email. Additionally, when you sign up through twitter it shows your real name. There is too much room for error. I would simply ask the users to enter their custom url if they have one or unique ID until this feature is available publicly.

Get default user email in iOS Device

Is it possible to retrieve the user email associated with the default email account directly from an app?
Screenshot:
Thanks.
I can't prove a negative, but I am fairly certain this is not possible. You can use MFMailComposeViewController to allow the user to send an email from the default account, but you cannot directly access information about the default account. If you need the user's email address, you either have to ask for them to type it in, or have them select it from their contacts.
In addition to #woz answer, this is a gist that can help you.
In my app, I have a feedback form to let users could get in touch with me. Unfortunately, many users had minor misspellings in their email addresses and I couldn't reach back to them.
As I couldn't get a perfect way to be sure the email was correct, I've developed the following gist which:
asserts the mail is a proper foo#bar.tld
verifies that the email is contained in the user's address book
if not, suggests the closest match
Again, this is far from perfect and I only included this behavior optionally (a little 'check mail' button next to the UITextField)
https://gist.github.com/dirtyhenry/7547064

MyOpenId not sharing email address

I'm trying to use MyOpenID for my sign-in, but it doesn't seem to be sharing the email address.
If I use Google or others I do seem to get the email address, though. I thought that this was a standard field to return.
I even see some documentation here that seems to suggest they would share email:
https://rpxnow.com/docs/providers
(I'm using Ruby on Rails and Janrain for this project)
One interesting thing is that if I setup an identity page on MyOpenId, then the email IS shared with my application. I thought that there was supposed to be a way when logging in with MyOpenID to specify what data is shared during "SimpleRegistration"?
The problem was that I was testing with my own MyOpenId account and the very first time I logged in to my development server I had not paid enough attention.
When logging in the first time it said something along the lines of "blah site is asking you to share information with it. Click here to use an existing persona or to create a new one. I didn't select one and it defaulted to "don't ask again".
I was able to fix this by going in to MyOpenId and revoking permission for my site. Then the next time I logged in it asked me again and it worked.

Resources