Thứ Tư, 21 tháng 9, 2016

Kiếm tiền trong Windows Store: Time Based Trial

  Không có nhận xét nào
Làm sao để kiếm tiền từ việc viết ứng dụng có lẽ đó là điều mà bất cứ nhà phát triển ứng dụng nào cũng quan tâm. Và ở bài viết này mình sẽ chỉ các bạn cách kiếm tiền từ Windows Store (chợ ứng dụng của Windows).
Windows Store cung cấp 3 cách thức kiếm tiền cho các nhà phát triển (mình chỉ nói windows hỗ trợ nhà phát triển, không đề cập đến việc sử dụng quảng cáo bên thứ 3):

1, Buy (Trả phí để tải về)
2, Time-Based Trials (Dùng thử trước, quyết định trả phí sau)
3, In-app Purchase (Mua item, modul trong trong app)
4, Nhúng quảng cáo (http://pubcenter.microsoft.com - Doanh thu dựa trên cách thông số CPM, CPC, CPA,..)


Như tiêu đề, trong bài viết này mình sẽ chỉ đi sâu đề cập đến cách thức số 2: Time-Based Trial

1, Time-Based Trials "trông như thế nào"?


Trong thực tế bạn sẽ gặp khá nhiều ứng dạng "trả sau" này, đa phần là ứng dụng tiện ích, công cụ như: Phần mềm diệt virut; tool edit video, music; office;...
Nhà phát triển sẽ cho người dùng dùng thử một khoảng thời gian nhất định để người dùng vừa đủ thời gian để trải nghiệm ứng dụng, để cho người dùng thấy ứng dụng đem lại lợi ích như thế nào, có đáng để người dùng trả phí mua ứng dụng hay không (Đôi khi sẽ là tạo thói quen cho người dùng, để người dùng quen với việc sử dụng ứng dụng và dễ dàng chấp nhận bỏ tiền hơn :))

2, Time-Based Trials trong Windows Store


Để tạo một ứng dụng Time-Based Trials, nhà phát triển có thể thiết lập một cơ chế tính toán thời gian hay ngày trong ứng dụng. Windows Store sẽ tính toán thời gian sử dụng ứng dụng cũng như kết thúc giai đoạn dùng thử. Khi gửi các ứng dụng lên cửa hàng các nhà phát triển đã chỉ định thời gian thử nghiệm cho các ứng dụng như minh hoạ như hình dưới. Thời gian dùng thử sẽ bắt đầu tính khi người dùng tải về và cài đặt.
Các ứng dụng từ cửa hàng. Khi thử nghiệm hết hạn, Windows Store sẽ tự động nhắc người dùng phải trả tiền cho các ứng dụng nếu anh/chị ấy mong muốn tiếp tục sử dụng các ứng dụng hoặc ứng dụng sẽ ngừng thực hiện hoạt động.

3, Tạo ứng dụng


Nếu bạn chưa có project nào mới thì điều đầu tiên là tạo project mới rồi, hay tốt nhất với người mới nên là vậy. Nó sẽ giúp bạn dễ hiều hơn cũng như code minh bạch, rõ ràng hơn :)

Mở MainPage.xaml ra, code theo hình dưới:
Tool Ctrl+C, Ctrl+V :)

<Page
x:Class="TrialApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TrialApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBlock FontSize="25" Text="Licensing App" Margin="606,117,544,608"/>
<TextBlock x:Name="txtDetail" FontSize="20" Margin="398,172,402,453"/>
<Button x:Name="btnPurchase" Content="Purchase" Margin="536,372,0,358" Click="btnCalculate_Click"/>
<Button x:Name="btnCalulate" Content="Details" Margin="705,372,0,358" Click="btnDetails_Click"/>
</Grid>
</Page>


Đảm bảo rằng khi code xong design nó sẽ ra ntn, nếu không hãy thay bàn phím :))

Tạo một thư mục có tên Data, trong thư mục tạo 1 file xml có tên StoreLicense.xml.. Lưu ý là thư mục Data phải ngang hàng với MainPage.xaml, mục Assets,.. nhé


Trong file StoreLicense.xml:
Copy, paste
<?xml version="1.0" encoding="utf-8" ?>
<CurrentApp>
<ListingInformation>
<App>
<AppId>00000000-0000-0000-0000-000000000000</AppId>
<LinkUri>
http://apps.microsoft.com/webpdp/app/00000000-0000-0000-0000-000000000000
</LinkUri>
<CurrentMarket>en-US</CurrentMarket>
<AgeRating>3</AgeRating>
<MarketData xml:lang="en-us">
<Name>LicenseTest</Name>
<Description>Will check the license info</Description>
<Price>10.00</Price>
<CurrencySymbol>$</CurrencySymbol>
<CurrencyCode>USD</CurrencyCode>
</MarketData>
</App>
<Product ProductId="1" LicenseDuration="0">
<MarketData xml:lang="en-us">
<Name>License App</Name>
<Price>1.00</Price>
<CurrencySymbol>$</CurrencySymbol>
<CurrencyCode>USD</CurrencyCode>
</MarketData>
</Product>
</ListingInformation>
<LicenseInformation>
<App>
<IsActive>true</IsActive>
<IsTrial>true</IsTrial>
<ExpirationDate>2016-10-01T00:00:00.00Z</ExpirationDate>
</App>
<Product ProductId="1">
<IsActive>true</IsActive>
</Product>
</LicenseInformation>
</CurrentApp>


Tiếp theo trong MainPage.xaml.cs bạn code phần tính toán thời gian, sự kiện button,..
Tool:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Store;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.Storage;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238

namespace TrialApp
{
///


/// An empty page that can be used on its own or navigated to within a Frame.
///

public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private async System.Threading.Tasks.Task fnLoadLicenseInfo()
{
StorageFolder proxyDataFolder = await Package.Current.InstalledLocation.
GetFolderAsync("Data");
StorageFile proxyFile = await proxyDataFolder.GetFileAsync("StoreLicense.xml");
await CurrentAppSimulator.ReloadSimulatorAsync(proxyFile);
}
private void btnCalculate_Click(object sender, RoutedEventArgs e)
{
if (CurrentAppSimulator.LicenseInformation.IsTrial)
{
txtDetail.Text = "Trial License";
}
}
private async void btnDetails_Click(object sender, RoutedEventArgs e)
{
LicenseInformation l = CurrentAppSimulator.LicenseInformation;
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
txtDetail.Text = "Trial License.\n";
var r = (l.ExpirationDate - DateTime.Now).Days;
txtDetail.Text += String.Format("Remaining day: {1}", l.ExpirationDate, r );
});
}
}
}

Giờ thưởng thức thành quả nào :)
Khi click vô nút Purchase.
Nút Details, báo thời gian dùng thử còn lại:


4, Tài liệu tham khảo


- Implement a trial version of your app
- Making money with your apps through the Windows Store
- App promotion and customer engagement
Video hướng dẫn bởi Mr.Tuân :)

Không có nhận xét nào :

Đăng nhận xét