I'm moving from goo.gl to FDL. I'm only using it to generate short links for campaigns. The problem is when short links are open on a mobile device, it shows a screen with the message "Save my place in the app. A link will be copied to continue to this page", and a button OPEN to continue.
How do I skip this screen and go directly to the long url.
When I open the same short link on a desktop browser, it doesn't show this screen and goes directly to the long url.
You can skip that step (app preview page) by set enableForcedRedirect to true as shown in example code below. However, this is not recommended by firebase as they claim that the app preview page increases your click to install rate.
Here is the full list of API:
Firebase Dynamic Links Short Links API Reference
{
"dynamicLinkInfo": {
"domainUriPrefix": "https://example.page.link",
"link": "https://example.come?referral_code=123",
"androidInfo": {
"androidPackageName": "com.example",
"androidFallbackLink": "https://play.google.com/store/apps/details?id=com.example"
},
"iosInfo": {
"iosBundleId": "org.reactjs.native.example",
"iosFallbackLink": "https://apps.apple.com/my/app/example/id1234567890",
},
"navigationInfo": {
"enableForcedRedirect": true
},
"socialMetaTagInfo": {
"socialTitle": "My Website Title",
"socialDescription": "I am dummy description.",
"socialImageLink": "https://example.com/imgs/example.png"
}
},
"suffix": {
"option": "SHORT"
}
}
If you create the dynamic link on Firebase console, you can select "Skip the app preview page". If the link already created, just click on edit.
I found the solution here:
https://firebase.google.com/support/guides/url-shortener
If you only want to create short links for web URLs, create a
placeholder iOS app in your Firebase project from the Project Overview
page of the Firebase console. (Specify any value for the bundle ID and
skip the subsequent steps).
Also, when creating the short url using REST API, don't add app information like iosInfo or iosBundleId. Send only this:
{
"dynamicLinkInfo": {
"dynamicLinkDomain": "yourdomain.page.link",
"link": "https://the_link_you_want_to_short.com"
}
}
It will return a short URL that will skip the screen I mentioned on my question above.
Related
I am maintaining a MeteorJS web app and I need to add some specific meta tags into homepage.
I see that there is a head.html in the project that has all information, including
the existing og meta tags, I tried to add the specific meta tag there and restarted the server.
If I right click view source on the homepage, I can see the newly added meta tag.
However, if I try to use Facebook debugger to see what the FB Crawler sees, the newly added meta tag is not seen by the bot. In fact the bot sees some additional twitter meta tags that does not exist anywhere in the project.
Investigating further, I noticed the project uses a library called
manuelschoebel:ms-seo: https://github.com/DerMambo/ms-seo
This library is initialised in the Meteor.startup like this:
Meteor.startup(function() {
if(Meteor.isServer){
if(Meteor.DEBUG){
robots.addLine('Disallow: /');
}
robots.addLine('Disallow: /admin');
}
if(Meteor.isClient){
// default SEO
return SEO.config({
title: '...',
meta: {
"description": "..."
},
og: {
'image': '....'
}
});
}
Now I am guessing this SEO library is the reason why the bot does not see the newly added meta tag in the head.html.
What is the right way to add the newly meta tag in a clean way? why is this SEO library not respecting the head.html in the project?
I am using the graphql-request npm package. It is working fine for all page, and post requests, but I am not able to get the menu data.
When I do it within the IDE it returns the data as expected, however, when I call it from the Next.js client it is returning null.
This is the request:
const response = await graphcms.request(`
query MyQuery {
menu(idType: NAME, id: "navbar") {
id
name
menuItems {
nodes {
url
title
label
}
}
}
}
`);
Any ideas what can be causing this to work in the IDE but not fetching on an external request? I did not see any options for settings.
I have discovered this is because menus require locations. Since I had created a theme that simply redirected to my Next deployment, it did not include any menu locations.
You can follow these instructions to add menu locations to a theme:
https://wordpress.org/support/topic/adding-a-new-menu-location/
Our application lets an admin create a suggested social post for all of the members of his or her organization. The admin will insert a URL in our system and our platform creates a unique URL for each member. This is a link with a 302 redirect to the original link. It works similar to Bit.ly. When the member gets the suggested post he/she can create his/her own content for the post and url and approve for posting via the LinkedIn API. That all works perfectly.
As an example the share url could be https://example.com
Member one gets: https://yip.sh/1234
Member two gets: https://yip.sh/4321
Member three gets: https://yip.sh/4444
The PROBLEM: Some (a minority) of the member's posts do not share the meta image for the url. The majority of the social posts work and show a meta image so that tells me both the 302 redirect and the destination url are working correctly. I also have tried the urls from the post that do not work in the LinkedIn post inspector and the meta image shows up there.
My ASSUMPTION: Sometimes pulling the meta image takes a little longer than LinkedIn wants to wait and since each URL is unique it needs to check each time.
Possible SOLUTION: Automated ping of Linkedin post inspector to cache image before the share. This was what we did with Facebook when we had a similar problem. I have not found a way to do that though with LinkedIn.
Just to show the code we are using to share the post. But as I mentioned above this is working a majority of the time.
pass_the_hash = {
"author": "urn:li:person:#{#social_identity.uid}",
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"shareCommentary": {
"text": "My Comment"
},
"shareMediaCategory": "ARTICLE",
"status" => "READY",
"originalUrl" => "https://yip.sh/1234"
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
}
}
Has anyone seen a similar issue with LinkedIn Share API not showing meta image consistently? Or possibly know of a way to automate usage of the post inspector?
To quote LinkedIn...
After updating your website with perfect preview content and image, if you try sharing your website link you will still see old preview content and image. That's because LinkedIn caches link preview content for 7 days. Source: Official LinkedIn Documentation.
As you and they state, you can use the LinkedIn Post Inspector to refresh the cache. If you wanted to go the approach of pinging/curling LinkedIn, you can do...
https://www.linkedin.com/sharing/share-offsite/?url={yourlURL}
For instance, seems to work for getting info from the LinkedIn share API for GitHub.
Of course, you do also have the less-desirable option of waiting 7 days, although it is nice to know that it eventually works itself out by itself.
In the ugcPosts endpoint of LinkedIn shares API, there are some changes that are causing these issues. You will need to make changes to your code and add extra key for thumbnails like below:
{
"author": "'.$ownerURN.$page_id.'",
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"shareCommentary": {
"text": "'.$text.'"
},
"shareMediaCategory": "ARTICLE",
"media": [
{
"status": "READY",
"description": {
"text": "'.$linkDescription.'"
},
"originalUrl": "'.$href.'",
"title": {
"text": "'.$linkTitle.'"
},
"thumbnails": [{
"url": "'.$imageHref.'"
}]
}
]
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
}
}
I hope this is useful to people who are facing issues with the linkedIn Shares API now. I know this question is old but we faced this issue for a few days and the API documentation is not pointing out the issues.
I run a Wordpress website. I have many users who have content of their own.
I want to add this feature: if one user wants to see another user's content, then the user (who wants to see) has to Like the other user's Facebook page.
Is there any plugin to do this?
I am currently using this code by Patrik from Stack Overflow:
FB.api({
method: "pages.isFan",
page_id: page_id,
}, function(response) {
console.log(response);
if(response){
alert('You Likey');
} else {
alert('You not Likey :(');
}
}
);
But I actually need to also integrate user_id.
Note: I can get user id from get_the_user_id() function; I only need to integrate it.
Like-Gating is not allowed any more by Facebook – and therefor they have removed all easy means to check whether the user likes a certain page.
You must present the same content to all users, whether they liked a specific page or not.
I'm setting up an HTML template (not meteor template, but just a template written in HTML) and I need to plug in values for each donation received on our donation page. I will then submit that HTML file to Mandrill and it will send the file out to their email address. I don't know how to get started here. I just need a push in the right direction, or a resource to look for.
The question I have is, how do I add values into a static HTML file, then give that file to the Mandrill app without creating a new HTML file each time a receipt is sent and without changing the original file?
Thanks
Look like I just needed to paste in the merge tag fields that I want to use, then reference them when I do my API call.
http://help.mandrill.com/entries/21678522-How-do-I-use-merge-tags-to-add-dynamic-content-
So the template can have text like this, with the mergetag surrounded by *|...|*
Dear *|FNAME|*,
Then in the API call just tell Mandrill what fname should be replaced with.
```
"merge_vars": [
{
"rcpt": "emailadress#domain.com",
"vars": [
{
"name": "fname",
"content": "John"
},
```