0
我正在開發windows phone 8應用程序。我必須在Facebook和Twitter上分享應用程序的下載鏈接。如何知道windows phone 8應用程序的下載鏈接
在將應用程序發佈到Windows手機應用商店之前,如何知道應用程序的下載鏈接。
因爲我們必須在發佈應用程序之前實現共享功能。
我期待着您的回覆。
感謝&問候, 蘇雷什
我正在開發windows phone 8應用程序。我必須在Facebook和Twitter上分享應用程序的下載鏈接。如何知道windows phone 8應用程序的下載鏈接
在將應用程序發佈到Windows手機應用商店之前,如何知道應用程序的下載鏈接。
因爲我們必須在發佈應用程序之前實現共享功能。
我期待着您的回覆。
感謝&問候, 蘇雷什
基本上你的應用程序下載鏈接格式如下:
http://windowsphone.com/s?appid=<ApplicationId>
與<ApplicationId>
是WMAppManifest.xml
文件App
元素的ProductID
屬性的值。 ProductID
WMAppManifest.xml
將在您將應用提交到Marketplace時被覆蓋,因此請避免對其進行硬編碼。 This post演示如何從清單文件獲取<ApplicationId>
以及如何使用Microsoft.Phone.Tasks.ShareLinkTask
分享它。
UPDATE:
總之,創建一個輔助類從WMAppManifest.xml
文件讀取ApplicationID
:
public class DeepLinkHelper
{
private const string AppManifestName = "WMAppManifest.xml";
private const string AppNodeName = "App";
private const string AppProductIDAttributeName = "ProductID";
public static string BuildApplicationDeepLink()
{
var applicationId = Guid.Parse(GetManifestAttributeValue(AppProductIDAttributeName));
return BuildApplicationDeepLink(applicationId.ToString());
}
public static string BuildApplicationDeepLink(string applicationId)
{
return @"http://windowsphone.com/s?appid=" + applicationId;
}
public static string GetManifestAttributeValue(string attributeName)
{
var xmlReaderSettings = new XmlReaderSettings
{
XmlResolver = new XmlXapResolver()
};
using (var xmlReader = XmlReader.Create(AppManifestName, xmlReaderSettings))
{
xmlReader.ReadToDescendant(AppNodeName);
if (!xmlReader.IsStartElement())
{
throw new FormatException(AppManifestName + " is missing " + AppNodeName);
}
return xmlReader.GetAttribute(attributeName);
}
}
}
然後你就可以得到/股的下載鏈接是這樣的:
new Microsoft.Phone.Tasks.ShareLinkTask()
{
Title = "My Application Deep Link",
Message = "My Application Deep Link",
LinkUri = new Uri(DeepLinkHelper.BuildApplicationDeepLink())
}.Show();
對於上述所有代碼,請登錄Pedro Lamas。
爲什麼你忽略此併發布[新問題](http://stackoverflow.com/q/21258988/2998271)具有相同的內容?相同的問題與此類似的答案[這裏](http://stackoverflow.com/a/13640399/2998271) – har07