Tích hợp In-App Purchase trong ứng dụng Windows phone

Lâu rồi ko viết bài về WP hôm nay hứng làm 1 bài cho đỡ buồn :)).

Hiện nay có nhiều hình thức giúp người dùng có thể tiếp cận việc thanh toán để mua ứng dụng trên WP điển hình là IAP từ MS và SMS từ bên thứ 3, thì trong bài hôm nay mình sẽ giới thiệu cho các bạn về IAP còn SMS tích hợp làm sao thì các bạn có thể tham khảo thằng này Fortumo (Hỗ trợ WP8 và Windows 8) Ok! bắt đầu nào.

(Click vào hình đẻ xem rõ hơn)

Bước 1: Vào trong Devcenter chọn ứng dụng muốn tích hợp IAP rồi làm như trong hình dưới đây

Snap1

Chọn tiếp In-app product properties

Snap2Làm đúng như hình dưới đây:

Snap3

Snap4

Snap5

Sau khi làm xong thì nhấn vào Save để lưu.

Vậy là ta đã cấu hình xong bước đầu tiên.

Bước 2: Mô tả sản phẩm, chọn Description

Snap2

Sau đó làm như hình dưới

Snap7

Sau khi hoàn tất thì nhấn Save và Submit là xong, quay ra ngoài là bạn đã có 1 Product để sẵn sàng đem tiền về cho bạn rồi đó 😀

Bước 3: Ta bắt đầu code.

Việc tích hợp rất dễ dàng chỉ vài dòng code thôi, bạn có thể tham khảo như dưới đây.

Snap8

Snap9

Trong đoạn code trên thì nó sẽ check nếu người dùng đã mua hàng rồi thì không kích hoạt quảng cáo nữa và ngược lại, lưu ý là bạn phải gọi removeADS() khi load app nhé, không thì nó chỉ mất quảng cáo khi người dùng mua lần đầu thôi, bắt buộc phải kiểm tra từ lần mở app.

Snap11

Chắc hẳn bạn đọc được code nhỉ, điều chú ý ở đây hãy nhìn vào mấy cái khung hình màu đó mà mình đã khoanh, đó là một định danh sản phẩm của bạn, vậy bạn lấy nó từ đâu? đó chính là In-app product ID.(Là cái Product identifier khi bạn khởi tạo ở bước 1 đó)

Snap10

Khi bạn đã hiểu đoạn code rồi thì việc việc tích hợp nó dễ như ăn kẹo. (Lưu ý: nên lưu trạng thái đã thanh toán lần đầu vào Isolated storage sau đó gọi nó ra sau mỗi lần mở app, nó sẽ tiếp kiện cho mỗi lần gọi tới Server của MS, ngoài ra còn nhanh hơn và ko gặp rắc rối khi hệ thống IAP của MS gặp lỗi)

Ok vậy là xong, chúc các bạn kiếm nhiều tiền từ IAP 🙂

6 Bước đăng ký tài khoản Windows Store

Sau nhiều tuần bị dính lỗi không qua nổi bước payment hôm nay mình đã chính thức qua nổi bước này nhờ vào một bài đăng chia sẻ trên facebook, mình nhanh tay viết bài này chia sẻ cho các bạn vẫn đang mắc lỗi này mà vẫn không qua, lưu ý là chỉ áp dụng cho các loại thẻ Visa, Master cad, không áp dụng cho các thẻ tín dụng trong nước, các thẻ visa, master prepaid.

Bước 1: vào trang tài khoản của Windows phone Center bạn sẽ nhận được một thông báo như dưới, click vào Here.

Snap1

Bước 2: Nhấn Continue để tiếp tục

Snap2

Bước 3: Điền đầy đủ thông tin và ấn Next

Snap3

Bước 4:

Snap4

Bước 5: ở phần này thì bạn cứ nhấn next thôi nếu không hiện code thì bạn vào trong Dreamspark và get code bên đó rồi điền vô đây(Chỉ áp dụng cho tài khoản sinh viên thôi nhe)

Snap5

Bước 6: Bước này gần như là quan trọng nhất và mình đã mất khoản 300k từ hơn nửa tháng nay :D, không biết bao giờ hoàn lại nhưng chắc sẽ hoàn, điều lưu ý ở đây là các bạn phải điền đúng thông tin thẻ và địa chỉ ngân hàng mà nơi bạn đăng ký.

Ví dụ: nơi mình đăng ký là:  297 Bạch Mai, Bạch Mai, Hai Bà Trưng, Hà Nội

-Thì ở đây phần địa chỉ các bạn chỉ cần điền là : 297 Bac Mai, Bach Mai

(Lưu ý là không đấu nhe) hoàn thành các bạn có thể nhấn next và thực hiện xác thực.

Snap6

Thành quả sau 1 năm phát triển ứng dụng Windows phone

Sau 1 năm tham gia vào thị trường mobile với một thành viên chân ướt chân giáo với kinh nghiệm chưa có, tiền tài thì lại càng không, mất 3 tháng để theo học C# và sử dụng những thứ đã học từ C++ tôi đã bước chân vào thị trường Windows phone, so với thời điểm đó windows phone mới công bố được khoảng 2 năm WP7 thực sự vẫn còn khá nhiều hạn chế vì vậy nó không thu hút được các lập trình viên,  tuy việc làm ăn của nokia không được thuận lợi nhưng hãng đã chú trọng đầu tư thu hút các lập trình viên từ các nền tảng như android hay ios chuyển tới Windows phone. Thực sự thời điểm tốt nhất dành cho các lập trình viên khi đó là thời điểm chuyển giao giữa WP7 và WP8, lúc này Nokia và Microsoft đã rất chú trọng đầu tư vào nền tảng này, khi ấy tôi thật may mắn vì đã sớm nhận ra tiềm năng từ thị trường này, tôi đã tham gia nhiều khóa học đào tạo từ MS và Nokia tổ chức và từ đó giúp tôi mở mang ra nhiều điều và biết được khá nhiều đàn anh, thực sự đó là một may mắn. Nhớ lại thời điểm 2 năm về trước với tuy duy theo quan trị mạng rồi kế đến là Lập trình Web thì so với hiện tại tôi đã đi theo đúng hướng của mình.

Với ứng dụng đầu tiên mang tên “Lời chúc tết việt nam 2013” hoàn toàn miễn phí không quảng cáo, tôi đã chính thức tham gia vào nền tảng WP và sau thành công đó tôi đã tiếp tục phát hành các ứng dụng khác nhau như (PhotoPlace, PhotoWeather, Fogram, InstaFrame, InstaShape…vv) và cho tới hiện tại (3/11/2013) thì ứng dụng thành công nhất đó là PhotoWeather.

Kể từ khi Microsoft chính thức tuyên bố mua Nokia để đầu tư vào thị trường mobile thì sự cạnh tranh trên nền tảng WP đã chính thức bắt đầu, liên tiếp các lập trình viên đa số là các sinh viên từ việt nam đã nhận thấy cơ hội và nhảy vô thị trường này, thực sự nó mới chỉ là bắt đầu, các bạn muốn tham gia vào thị trường nào đi nữa thì hãy sẵn sàng với sự cạnh tranh ngay bây giờ, miếng bánh WP nay chỉ chiếm 4.1% thị trường nhưng bạn chỉ cần 0.01% thôi cũng là đã quá thành công rồi.

Kể lại về tôi, kể từ những thành công từ các ứng dụng trên tôi đã tham gia vào DVLUP trang web dành riêng cho các lập trình viên, nơi mà mọi người khẳng định mình và có thể kiếm điểm đổi quà, việc kiếm điểm khá dễ dàng, mới tập tọe bạn có thể kiêm được ngay 1 cái cặp hay 1 bình nước từ Nokia 😀 (Mình thề là mình nói thật!) và thực sự là sau 2 tuần tôi đã leo lên top 1 tại việt nam và đứng thứ 59 trong tất cả các nước đang hỗ trợ, một Challenge với >2500 rate và bắt buộc app phải +4* tôi đã chính thức hốt 15000XP và đứng thứ nhất tại Việt nam, thực sự trong mơ tôi vẫn cười được ^^!

Snap1

 

Sau những thành công này bạn có thể tự tin khẳng định chính mình nhưng hãy nhớ một điều rằng trên đường đời không phải ai cũng biết tất cả, không phải ai cũng giỏi tất cả hãy tích lũy những kinh nghiệm, hãy biết cố gắng, hãy xem mình như một đứa trẻ, hãy biết tự chịu tránh nhiệm và hãy thành công!

Cách điền Tax cho tài khoản Windows phone Developer

Có nhiều bạn mới tham gia lập trình WP vẫn chưa biết các điền Tax để bán ứng dụng của mình trên store như thế nào thì hôm nay mình sẽ hướng dẫn các bạn cách điền hiệu quả nhất.
Bước 1: bạn click vào Edit
Snap1
Bước 2: Chọn khu vực của bạn và nhấn next
Snap2
Bước 3: Khi điền đủ thông tin thì nhấn next tiếp
Snap3
Bước 4: Chọn cái đầu tiên nếu bạn là chủ sở hữu tài khoản sau đó next tiếp
Snap4
Bước 5: Chọn W-8BEN nếu bạn không ở hoa kỳ
Snap5
Bước 6: Điền đủ thông tin như dưới tương ứng với nơi bạn đang sống, chú thích những chỗ màu đỏ mình đã đánh dấu
Snap6
Bước 7: Check Mail(Mail của tài khoản mình đăng nhập) bạn sẽ nhận được 1 mã pin khi yêu cầu điền thay đổi Tax
Snap7
Bước 8: hoàn thành phần còn lại bằng cách điền Full Name và mã pin vừa nhận được
Snap8
Bước 9: Nhấn Submit và nộp thôi 🙂 Chúc các bạn kiếm được thật nhiều tiền!
Snap9

Nếu bạn có copy thì xin vui lòng ghi rõ nguồn, xin cảm ơn!

Day 9: Web Browser trong Windows phone

Để tiếp nối chuỗi bài về windows phone hôm nay tôi sẽ hướng dẫn tiếp với bạn cách sử dụng Web Browser để hiển thị một địa chỉ của 1 trang web.

Bước 1: Tạo project

Snap4

Bước 2: Thiết kế như hình dưới

Snap1

Bước 3: Cài đặt chương trình

-Ở đây tôi sẽ bắt sự kiện LostFocus khi khách nhập địa chỉ vào textbox xong.

Snap2

-Tiếp theo là cài đặt

Snap3

Hoàn thành! nhần F5 để chạy.

Snap5

Bài 1: Viết ứng dụng trình bày các trang web đọc báo online.

Snap13 Snap14

-Yêu cầu: Chỉ sử dụng 1 trang Page View.

Bài 2: Viết ứng dụng xem phim online.

Khách hàng chọn phim nào thì play phim đó trong 1 Web View.
Phim play trực tiếp bằng Youtube.

Snap13Snap14

Niềm vui khi trở thành Nokia Premium Developer

Sau một tối miệt mài viết một bộ cơ bản về Telerik RadControl thì đáp lại phía Nokia đã tặng cho mình một Token trị giá 1 năm bao gồm rất nhiều tiện ích để phát triển windows phone. Hôm nay mình viết bài viết này nhằm giới thiệu cho các bạn biết về chương trình này đồng thời cũng chia sẻ bộ hướng dẫn về RadControl mà mình đã viết trong cả buổi tối.

Trong buổi hội thảo dành cho lập trình viên tại sự kiện ra mắt dòng sản phẩm chạy WP8, Nokia có giới thiệu đến các bạn chương trình Nokia Premium Developer. Đây là một chương trình đem lại rất nhiều lợi ích cho lập trình viên phát triển ứng dụng trên nền tảng Windows Phone. Cụ thể là chỉ với $99 phí đăng ký, các bạn sẽ nhận được những lợi ích sau:

• 1 năm thành viên Windows Phone Developer Center, trị giá $99 (nếu đã có tài khoản thì có thể dùng để re-new khi hết hạn)
• Được cấp quyền sử dụng Telerik RadControls, trị giá $99 (bao gồm hơn 40 Windows Phone controls như Chart, Animations, DataBoundListBox…)
• Được cấp quyền sử dụng Buddy.com Cloud APIs, trị giá lên tới $1200 (cung cấp cloud backend để phát triển các tính năng online như Highscores…)
• 2 Nokia Tech Support tickets, trị giá $198

Nếu bạn nào có mục đích mua sản phẩm này mình khuyên chân thật là nên mua, nó có rất nhiều tiện ích giúp bạn phát triển cho sản phẩm của bạn tốt hơn, và dưới đây là video giới thiệu về chương trình và phần tài liệu mà mình đã biên soạn, đi kèm là file Demo nữa:

Link:

http://www.mediafire.com/?j8zsfk4zc7ppakg

http://www.mediafire.com/?thrdzvz75r8fsgh

Day 8: Ghi và đọc file txt trong Windows phone

Tiếp tục bài hôm nay tôi sẽ hướng dẫn bạn thao tác với file trong windows phone, cụ thể là file txt. Yêu cầu đặt ra: Hãy nhập vào một chuỗi rồi lưu chuỗi đó vào file txt rồi đọc dữ liệu từ file txt đó ra màn hình.

Bước 1: Tạo mới 1 project

Snap3

Bước 2: Thiết kế như hình dưới

Snap4

Bước 3: Cài đặt chương trình, chương trình của chúng ta chỉ có vậy thôi rất đơn giản

Snap5Snap6

Chạy chương trình và xem kết quả:

Snap4

Bài tập 1:

Yêu cầu:

Đọc dữ liệu từ file text cho dưới đây, khi khách nhấn vào Tiếp thì sẽ chuyển sang tiêu đề và nội dung khác, và ngược lại với nút Trước.

File text: http://www.mediafire.com/?05ig7fdreudhdhi

Snap7Snap8

Day 7: Truyền tham số trong Windows phone

Yêu cầu đặt ra: Khi bạn Có một giá trị cần truyền sang cho trang thứ n nào đó và cần dùng để thực thi một phương thức nào đó liên quan đến trang trước, vậy bạn làm thế nào để lấy được giá trị của bên trang thứ nhất đây. Hôm nay tôi sẽ hướng dẫn tiếp bài truyền dữ liệu giữa các Page trong windows phone.

Bước 1: Tạo project mới

Snap12

Bước 2: Thiết kế giao diện như dưới, ta sẽ có 2 trang 1 là trang MainPage.xaml và 2 là trang Page1.xaml

MainPage.xaml

Snap1

Page1.xaml

Snap2

Bước 3: Xử lý các sự kiện

MainPage.xaml
Snap3

Ta sẽ có một tham số là parameter nó đóng vai trò là một khóa và giá trị của nó bằng giá trị mà ta sẽ nhập vào textbox cụ thể ở đây là txtData.text.

Page1.xaml

Snap4

Các câu lệnh ko khó để nhớ nhỉ, ở đây ta chỉ cần lưu ý khóa “parameter” nhe, nếu khác với khóa ở bên Mainpage thì khi chạy nó sẽ báo lỗi.

Bây giờ ta chạy thử và xem kết quả:

Snap5

Snap6

Ngoài cách dùng Parameter ra chúng ta còn có cách truyền tham số một cách tốt hơn, cách này áp dụng khi mà ta có nhiều trang nếu n trang muốn có cùng một giá trị nào đó của giá trị của trang Mainpage thì ta hãng dùng cách này.

-Ta cần khởi tạo 1 constructor bên file App.xaml.cs(Xem hình dưới)

Snap10

Tiếp tại trang MainPage.xaml ta cài đặt như dưới

Snap9

Page1.xaml

Snap11

Page2.xaml

Snap16

Bây giờ nhấn F5 và cùng xem kết quả nào!

Snap17Snap18Snap20

Bài tập 1: Viết chương trình gồm 2 Page, cho khách hàng chọn thông tin nhân vật, truyền sang Page info xử lí và hiển thị thông tin đó.

Snap1 Snap2

Day 6: Local Database trong Windows phone 7 (Sử dụng LINQ to SQL)

Tại sao tôi lại đăng bài Tìm hiểu về LINQ trước bài này, thực ra bài hôm nay sẽ vận dụng một số kiến thức về LINQ, giúp bạn có thể tạo một cơ sở dữ liệu dưới dạng Local Database và truy xuất dữ liệu nhờ linq, việc sử dụng Local database cũng là một giải pháp giúp bạn bảo toàn và truy cập dữ liệu Offline nhanh nhất. Để hiểu xâu về bài này bạn đòi hỏi phải hiểu sơ qua về cấu trúc và cách làm việc của LINQ, không nói nhiều nữa ta bắt đầu nào:

-Các việc ta cần làm sẽ theo thứ tự sau:

+Tạo cơ sở dữ liệu Database CE 4.0 nếu dùng VS2012, hoặc Database CE3.5 nếu dùng VS2010

+Tạo file Datacontext LINQ to SQL  trích xuất từ file cơ sở dữ liệu mà ta tạo từ bước 1

+Thiết kế giao diện và cài đặt

Bước 1: bạn xem video dưới đây

-Video này giúp bạn có thể hiểu được cách tạo CSDL và trích xuất ra file Datacontext

Bước 2: Add file Datacontext và thư viện linq vào project

Snap6

Bước 3: Thiết kế giao diện

-Ta tạo 3 Page như dưới trong đó trang “Quản lý sinh viên” sẽ là trang khởi chạy

MainPage.xaml

Snap7

Trang PageNhapthongtin.xaml

Snap8

Trang PageXemthongtin.xaml

Trang này chứa 1 button và 1 Listbox

Snap9

Code Xaml:

Snap17

Bước 4: Ta tạo một Class DBHelper.cs mới và cài đặt như hình dưới

Snap13 Snap14

Chú ý: bạn chú ý đến các mũi tên đỏ, nó sẽ liên quan đến tên của bảng và phương thức trong file Datacontext mà ta đã tạo ngay từ Bước 1

bạn có thể xem hình dưới đây để tránh việc nhầm

Snap15

-Và một chú ý cuối cùng là bạn phải đổi lại “[global::System.Data.Linq.Mapping.DatabaseAttribute(Name=”/abcd/egh../database.sdf“)]

thành [global::System.Data.Linq.Mapping.DatabaseAttribute(Name=”Database”)]

Bước 5: Cài đặt Chương trình

-Trang MainPage.xaml ta cài đặt như hình dưới

Snap10

-Trang PageNhapthongtin.xaml

Snap11

-Trang PageXemthongtin.xaml

Snap12

-Và cuối cùng nhấn F5 để chạy chương trình

Snap16

Bài tập:

Wait…

Day 5: Bài tập ôn tập

Bài 1: Thiết kế như hình dưới

Snap1

Yêu cầu:
1 – Viết code cứ sau mỗi giây, số n trong Textblock tự động tăng thêm 1 đơn vị
2 – Click nút Stop thì dừng lại không đếm nữa
3 – Click nút Start thì bắt đầu đếm tiếp.
4 – Viết code lấy Ngày + Giờ hiện hành của máy khách hàng và hiển thị trong Textblock như 1 đồng điện tử. Yêu cầu đồng hồ tự động cập nhật thời gian liên tục

Bài 2: Thiết kế như hình dưới:

Snap2

Yêu cầu:
1 – Khi khởi động ứng dụng, các slider có giá trị từ 0 đến 100
2 – Click nút Chạy thì 4 slider tự động chạy với tốc độ khác nhau:
(Nhanh: 0.1, Trung bình:0.5, Chậm: 1.0)
3 – Riêng Slider TumLum chạy với tốc độ lúc nhanh lúc chậm (Tốc độ random)

Bài 3: Thiết kế như hình dưới

Snap1Snap3

Yêu cầu:
– Ứng dụng bao gồm 1 button và 2 Textbox và 1 trang gọi là Page2.xaml trang này chứa 1 textblock
– Click button thì chuyển sang trang 2
– Nếu khách login đúng (Tuananh1234) thì Textblock hiển thị câu: Chào bạn Tuananh
Ngược lại là thông báo cho khách biết Đăng nhập thất bại

Bài 4: thiết kế như hình dưới

Snap4

 

Yêu cầu:

1- Thực hiện show ảnh ra cho khách thấy, có nút next và nút prev để chuyển ảnh

2- Hiển thị vị trí của từng ảnh

3- Thiết kế 1 textbox và 1 button, khi khách chọn vị trí ảnh nào thì xóa ảnh đó

4-Yêu cầu xử lý các ngoại lệ xảy ra trong các quá trình