Yazdır

Windows Phone 7.x - 8 Uygulamanız da Telerik Kullanarak Trial Reminder, Rate Reminder, Send Feedback Email Kullanımı

Arkadaşlar Merhaba,

Bir uygulama üzerinde çalışırken kullanımını öğrendiğim bu özelliklerin Windows Phone uygulamalarınızda nasıl kullanabileceğinizi paylaşmak istedim.

 

Öncelikle Trial Reminder, Türkçe ’si ile satın alma işlemi öncesi deneme sürümünde olduğumuzu hatırlatan bu sistem için ve Rate Reminder, Türkçe ’si ile uygulama açılırken çıkan “ Markete gidip uygulamaya oy vermek ister misiniz ?” yazısının çıkmasını sağlayan yapıyı kurmak için ben Telerik kontrollerini kullandım. ( Telerik Subscription içerir.) Birazdan bunun nasıl yapıldığını örnek üzerinde anlatacağım. Ancak Rate Reminder işlemini telefon açılırken değil de, örneğin uygulamanızın “Hakkında” sayfasına koyup, tıklandığında Markete göndermesini isterseniz, bu kontroller için Telerik kullanmanıza gerek yoktur.

Trial Reminder Kullanımı

Baştaki yazımda da belirttiğim gibi, bu kontrolü kullanmanız için Telerik kütüphanelerine sahip olmanız gerekmektedir. Buna sahip olduktan sonra RadControls Windows Phone Application’a basarak yeni bir uygulama açıyorsunuz ve projenizde References kısmından;

Telerik.Windows.Controls.Primitives dll’ini ve

Telerik.Windows.Core dll’ini eklemeniz gerekiyor.

Daha sonra App.xaml.cs sınıfını açarak using Telerik.Windows.Controls; satırını başlangıca eklemeniz gerekiyor. Buraya kadar bir sorun yoksa ekranınız şu şekilde gözükmeli;

( Ben uygulamama MarketeYonlendirme ismini vermiştim )

Daha sonra, yine App.xaml.cs içerisinde public partial class App : Application içerisine public RadTrialApplicationReminder trialReminder;kodunu ekliyoruz. Bu uygulamamızın ilk açılırken bu metodu tetikleyip sağladığı koşula göre çalışmasını sağlıyacak.

Aynı sınıf içerisinde devam edecek olursak, public App()içerisinde trial reminder için şu kodları yazıyoruz;

//Burada yeni bir instance yaratıyoruz.
trialReminder = newRadTrialApplicationReminder();
            //Deneme süresinin uzunluğunu belirtiyoruz.
             trialReminder.AllowedTrialUsageCount = 30;
            //Burada hangisıklıkla uygulama açıldığında hatırlatıcının çalışacağını belirtiyoruz.
            trialReminder.OccurrenceUsageCount = 2;
            //Hatırlatıcı sadece eğer uygulama deneme mod’unda ise çalışacaktır. Bu özelliğin true olması demek uygulamanın hâlâ trial modda çalıştığını gösteriyor.
          trialReminder.SimulateTrialForTests = true;

Hepsi bu kadar. Bu ayarlardan sonra emulator’ünüz çalıştığın da eğer uygulamanız trial mod’da ise karşıdaki ekran gelecektir.

Rate Reminder

Uygulamaya Oy Ver ! hatırlatıcısını iki şekilde yapıcaz. Telerik kullanarak ve kullanmayarak. Farkları birinde uygulama açılırken karşısına çıkacakken, diğerinde bir hyperlink’e tıkladığında uygulamanın marketteki hesabına gidip beğenme işlemini yapacak.

Telerik Kullanarak Yapmak

Daha önceden üzerinde çalıştığımız App.xaml.cs dosyasında trial reminder kodlarını eklediğimiz yere, yani public App()içerisine;

//RadRateApplicationReminder bileşeni için yeni bir instance yaratıyor..
rateReminder = new RadRateApplicationReminder();
//Uygulama çalıştığında 2 kere’de 1 bu hatırlatıcının çıkması isteniyor.
rateReminder.RecurrencePerUsageCount = 2;

kodlarını ekliyoruz. Buraya kadar geldiysek yazıya Markete Göndermek başlığından devam ediniz. Bu işlemin sonunda ekran çıktığı şu şekilde olacaktır.

Telerik Kullanmadan Yapmak

Uygulamamıza oy verme işlemini yapmak için herhangi bir Windows Phone uygulaması içerisinde tıklayınca markete göndereceğimiz sayfayı belirliyoruz. Herhangi bir xaml sayfası olabilir. Tercihinize göre.

Genel olarak bir Grid’in içerisine koyabileceğimiz bir HyperLinkButton ile bu işi halledebiliriz.

<HyperlinkButton

                Grid.Row="3"
                Content="Uygulamayı beğenenler oy versin!"
                Margin="0,12,0,0"
                HorizontalAlignment="Left"
                Foreground="{StaticResource PhoneAccentBrush}"
                FontSize="{StaticResourcePhoneFontSizeNormal}"
                  Command="{Binding RateThisAppCommand}"/>

Şeklinde ufak bir xaml kodu var. Ancak gördüğünüz üzere kod RateThisAppCommand tarafından bind ediliyor. Peki o zaman bunun nasıl yapıldığını şimdi görelim.

Markete Göndermek

Öncelikle uygulamam içerisinde bir klasör açıp adını komutlar yada Commands olarak veriyorum. İçerisine sağ tıklayıp add new class diyip “RateThisAppCommand“ adında bir sınıf ekliyorum. RateThisAppCommand.cs sınıfımız oluştuğunda içerisine şu kodları yazıyorum.

namespace MarketeYonlendirme.Commands
{
    public class RateThisAppCommand : ICommand
    {
        public bool CanExecute(object parameter)
        {
            return true;
        }
        public event EventHandler CanExecuteChanged;
        public void Execute(object parameter)
        {
            MarketplaceReviewTask reviewTask = new MarketplaceReviewTask();
            reviewTask.Show();
        }
    }
}

Namespace ki .Commands adı az önce yarattığım klasöre Commands adını verdiğim içindi. Burada tabiki bir Phone Task kullandığımız için using vermemiz gerekiyor: using Microsoft.Phone.Tasks;

Son olarak, RateThisAppCommand’in get set’lerini de yazmamız gerekiyor. Bunun için de yine bir klasörde ( ismi ViewModels ) CommandSampleViewModel.cs oluşturalım ve içerisine ;

namespace MarketeYonlendirme.ViewModels
{
    public class CommandSampleViewModel
    {
        public ICommand RateThisAppCommand
        {
            get;
            private set;
        }
        public CommandSampleViewModel()
        {
            RateThisAppCommand = new RateThisAppCommand();
        }
    }
}

Kodlarını yazalım.

Şimdi bunları yaptığımıza göre, az önce ki xaml sayfamıza geri dönelim ve en üstte açılan grid’in altına şu kodları yazalım ki yazığımız kodları görsün.

<Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.DataContext>
            <viewModels:CommandSampleViewModel/>
        </Grid.DataContext>

Son olarakda en üstteki <phone:PhoneApplicationPage satırının altlarında ki xmlns: yazılarının altına şu satırı ekleyelim.

 xmlns:viewModels="clr-namespace:MarketeYonlendirme.ViewModels"

Evet hepsi bu kadar. Bu şekilde uygulamamızı beğenmeleri için kullanıcıların markete ulaşmalarını sağlıyoruz.

Send Feedback Email

Bu kodun da çok kücük bir kodu bulunmakta ve telerik kullanmaya gerek kalmadan WP uygulamalarınızda kullanabilirsiniz. Yine az önce yarattığımız .xaml ekranı üzerine şu kodları ekleyerek alanımızı yaratabiliriz.

<HyperlinkButton
                Grid.Row="2"
                Content="technical support/feedback email"
                Margin="0,12,0,0"
                HorizontalAlignment="Left"
                Foreground="{StaticResource PhoneAccentBrush}"
                FontSize="{StaticResource PhoneFontSizeNormal}"
                Command="{Binding SendAnEmailCommand}"/>

Daha sonra, yine az önceki Commands dosyası içerisinde SendAnEmailCommand.cs sınıfı oluşturalım ve içerisine şu kodları ekleyelim.

using Microsoft.Phone.Tasks;

namespace MarketeYonlendirme.Commands
{
    public class SendAnEmailCommand : ICommand
    {
        public bool CanExecute(object parameter)
        {
            return true;
        }

        public event EventHandler CanExecuteChanged;

        public void Execute(object parameter)
        {
            EmailComposeTask emailTask = new EmailComposeTask();
            emailTask.To = "";
            emailTask.Show();
        }
    }
}

Daha sonra, yine CommandSampleViewModel.cs class’ının içerisine ;

 public class CommandSampleViewModel
    {
//Içerisine     
        public ICommand SendAnEmailCommand
        {
            get;
            privateset;
        }
//Kodu ve
public CommandSampleViewModel() { //Içerisine
SendAnEmailCommand = new SendAnEmailCommand();

Kodunu eklemeliyiz.

Hepsi bu kadar arkadaşlar. Artık hyperlink butonuna dokunulduğunda mail uygulamamız açılacak ve belirtilen adrese mail atma işlemi gerçekleşecektir.